95 votes

Comment puis-je récupérer tous les paramètres de requête dans Jersey JaxRS ?

Je suis en train de construire un service web générique et j'ai besoin de rassembler tous les paramètres de la requête en une seule chaîne pour une analyse ultérieure. Comment puis-je faire cela ?

168voto

hisdrewness Points 2643

Vous pouvez accéder à un seul paramètre via @QueryParam("name") ou tous les paramètres via le contexte :

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

La clé est le @Context annotation jax-rs qui peut être utilisé pour accéder :

UriInfo, Request, HttpHeaders, SecurityContext, Providers

35voto

glerup Points 96

La partie requête non analysée de l'URI de la demande peut être obtenue à partir de l'élément suivant UriInfo objet :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X