Melhor resposta
Olá!
Vamos discutir
QueryParam: – No serviço Restful, tudo é baseado no protocolo Http.
Portanto, sempre que quisermos enviar alguns dados, podemos enviar esses dados usando o parâmetro de consulta anexado ao url.
Exemplo: –
http://localhost:8081/SearchApp/book?name=java Aqui QueryParam é o nome. e seu valor é java.
Então, aqui QueryParams são opcionais, não é obrigatório enviar o parâmetro de consulta.
então, se você não anexar o QueryParam, não obterá o erro 404. Pode ser que você obtenha alguma exceção nullPointer, pois o valor será nulo.
@GET
@Path("/book")
List
}
PathParam: -Então, se você deseja enviar os dados como obrigatórios, você pode anexar o valor como um segmento diretamente à url. Se você não anexar o parâmetro de caminho, obterá o erro 404.
Exemplo: – http://localhost:8081/SearchApp/book/java (aqui, diretamente, o valor java é anexado como segmento de url)
Em serviço
Você pode recuperar assim: –
@GET
@Path("/book/{bookname}")
List
}
Resposta
Em um esquema REST comum, a parte do caminho do URL representa a hierarquia de classes de entidade (/ Tables / Dining tabela). Por outro lado, os parâmetros de consulta podem ser reservados para os atributos para localizar a instância da classe para obter resultados mais específicos. Por exemplo, você gostaria de obter uma lista de mesas de jantar de cor marrom abaixo de Url
// produtos / mesas / mesa de jantar? Color = brown
@PathParam é usado para combinar uma parte do URL como um parâmetro. Por exemplo, em um url no formato http://example.com/tables/{diningtable}, você pode usar @PathParam (“diningtable”) para acessar a classe de entidade jantar.
QueryParam é usado para acessar pares de chave / valor na string de consulta do URL (a parte após o?). Por exemplo, no url http://example.com/ tabelas / mesa de jantar? Color = brown, você pode usar @QueryParam (“color”) para obter o valor da cor que é marrom.