Estou construindo um serviço web genérico e preciso reunir todos os parâmetros de consulta em uma string para análise posterior. Como posso fazer isso?
91
Você pode acessar um único parâmetro @QueryParam("name")
ou todos os parâmetros por meio do contexto:
@POST
public Response postSomething(@QueryParam("name") String name, @Context UriInfo uriInfo, String content) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
String nameParam = queryParams.getFirst("name");
}
A chave é a @Context
anotação jax-rs , que pode ser usada para acessar:
UriInfo, Request, HttpHeaders, SecurityContext, Providers
A parte da consulta não analisada do URI de solicitação pode ser obtida do
UriInfo
objeto:fonte
Adicionando um pouco mais à resposta aceita. Também é possível obter todos os parâmetros de consulta da seguinte maneira, sem adicionar um parâmetro adicional ao método que pode ser útil ao manter a documentação swagger.
ref
fonte