Antworten:
Sie können @QueryParam("name")
über den Kontext auf einen einzelnen Parameter oder auf alle Parameter zugreifen:
@POST
public Response postSomething(@QueryParam("name") String name, @Context UriInfo uriInfo, String content) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
String nameParam = queryParams.getFirst("name");
}
Der Schlüssel ist die @Context
jax-rs-Annotation , mit der auf Folgendes zugegriffen werden kann:
UriInfo, Request, HttpHeaders, SecurityContext, Providers
Der akzeptierten Antwort etwas mehr hinzufügen. Es ist auch möglich, alle Abfrageparameter auf folgende Weise abzurufen, ohne der Methode einen zusätzlichen Parameter hinzuzufügen, was bei der Pflege der Swagger-Dokumentation hilfreich sein kann.
@Context
private UriInfo uriInfo;
@POST
public Response postSomething(@QueryParam("name") String name) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
String nameParam = queryParams.getFirst("name");
}