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(); ... }