Come posso prendere tutti i parametri di query in Jersey JaxRS?

Sto costruendo un servizio web generico e ho bisogno di prendere tutti i parametri della query in una stringa per l’analisi successiva. Come posso fare questo?

Puoi accedere a un singolo parametro tramite @QueryParam("name") o tutti i parametri tramite il contesto:

 @POST public Response postSomething(@QueryParam("name") String name, @Context UriInfo uriInfo, String content) { MultivaluedMap queryParams = uriInfo.getQueryParameters(); String nameParam = queryParams.getFirst("name"); } 

La chiave è l’ @Context jax-rs di @Context , che può essere utilizzata per accedere a:

UriInfo, Request, HttpHeaders, SecurityContext, Provider

La parte di query non parsed dell’URI della richiesta può essere ottenuta dall’object UriInfo :

 @GET public Representation get(@Context UriInfo uriInfo) { String query = uriInfo.getRequestUri().getQuery(); ... }