Mehrere Abfrageparameter vom Client senden - Kaskadierende oder iterierende Programmierung
Sehen Sie sich das folgende Beispiel an, wenn Sie von der Clientseite mehrere Abfrageparameter an den Server senden möchten.
Informationen zu diesem Vorgang
Anmerkung: Normalerweise wird der folgende Modus für kaskadierende Programmierung verwendet, um mehrere Abfrageparameter in ein WebTarget-Objekt zu stellen:
javax.ws.rs.core.Response response = client.target(...).queryParam(key, value).queryParam(key, value).queryParam(key, value).request.get();
In einigen Fällen findet der Modus für
kaskadierende Programmierung jedoch keine Anwendung, weil die Anzahl der Schlüssel-Wert-Paare flexibel ist und nicht prognostiziert werden kann. In solchen Fällen können Sie den folgenden
Modus für iterationsbasierte Programmierung nutzen:
Map<String, String> queryStrings;
...
javax.ws.rs.client.WebTarget target = client.target(....);
for (String key: queryStrings.keySet()){
String value = queryStrings.get(key);
target = target.queryParam(key, value); // Es ist wichtig zu wissen, dass die queryParam-Methode nicht das aktuelle WebTarget-Objekt aktualisiert, sondern ein neues Objekt zurückgibt.
}
}
javax.ws.rs.core.Response response = target.request().get();