Ich erstelle einen generischen Webdienst und muss alle Abfrageparameter für eine spätere Analyse in einer Zeichenfolge zusammenfassen. Wie kann ich das machen?
91
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 nicht analysierte Abfrageteil des Anforderungs-URI kann vom
UriInfo
Objekt abgerufen werden:quelle
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.
ref
quelle