Wie Liste senden als Abfrage param mit RESTEasy-client

Ich versuche, call service senden eine Liste als Abfrage param mit RESTEasy client:

Service:

@POST
@Path("/names")
public void getNames(@QueryParam("name") final List<String> names) {

}

Client:

final MultivaluedMap<String, Object> queryParams = new MultivaluedMapImpl<>();
queryParams.add("name", "name1");
queryParams.add("name", "name2");
final ResteasyClient client = new ResteasyClientBuilder().build();
final ResteasyWebTarget target = client.target(url).queryParams(queryParams);
final Builder builder = target.request();
builder.accept(MediaType.APPLICATION_JSON);
final Response response = builder.post(Entity.form(form));

Wenn ich Anrufe, die /names endpoint-1-element und names.get(0) == [name1, name2]

Mazzochi Molin: Die URI-einschließlich der Abfrage-Parameter wird normalerweise verwendet, um zu identifizieren eine Ressource in der Erwägung, dass der body der Anfrage enthält eine Darstellung der Ressource. In manchen Fällen mag es Sinn machen, z.B. POST ein Geschenk für treue Kunden: /customers?minOrders=10.
Welche version von RESTeasy verwenden Sie? Kann es nicht reproduzieren mit 3.0.6.Endgültig. Oder vielleicht falsch verstanden, dein problem.
Ich habe versucht, zu Bearbeiten und versehentlich entfernt mein Kommentar. Sie haben völlig Recht, über die Verwendung von query-Parameter in POST Anfragen. Vielen Dank für die Bereitstellung ein Beispiel.

InformationsquelleAutor user3784148 | 2015-10-20

Schreibe einen Kommentar