Jersey, wie die POST eine Liste von JSON-Objekten?

Baue ich einen RESTful web-service in Java mit Jersey 1.11, und haben Probleme bei der Implementierung eine Methode, die verbraucht eine Liste von JSON-siert Personen. Die single-instance-Verfahren funktioniert.

Den Fehler den ich bekomme, ist:

Status 400 - Bad Request. The request sent by the client was syntactically incorrect.

Meiner Signatur der Methode sieht wie folgt aus:

@POST
@Path("/some-path/{someParam}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String createBatch(List<MyEntity> myEnts, @PathParam("someParam") String someParam)
{
   ... 
}

JSON sende ich bei Anfragen ist ein array von MyEntity JSON-Objekte:

[{"field1" : value1, "field2" : value2}, {"field1" : value3, "field2" : value4}, ...]

Ähnliche Frage gestellt, bevor, und ein straight forward Vorschlag war die änderung der verbrauchten Medien-Typ auf text-und de-serialisiert die JSON manuell aber ich würde lieber eine saubere Lösung.

Ist die JSON-ich schicke auch gilt in diesem Zusammenhang oder muss ich eine top-level - {} ich.e eine wrapper-entity? Dies scheint auch ein bisschen un-Natürliche.

Danke,

/David

InformationsquelleAutor OG Dude | 2013-03-24
Schreibe einen Kommentar