Jersey1.11を使用してJavaでRESTfulWebサービスを構築していますが、JSON化されたエンティティのリストを使用するメソッドの実装に問題があります。シングルインスタンスメソッドは正常に機能します。
私が得るエラーは次のとおりです。
Status 400 - Bad Request. The request sent by the client was syntactically incorrect.
私のメソッドシグネチャは次のようになります。
@POST
@Path("/some-path/{someParam}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String createBatch(List<MyEntity> myEnts, @PathParam("someParam") String someParam)
{
...
}
リクエストで送信しているJSONは、MyEntity
JSONオブジェクトの配列です。
[{"field1" : value1, "field2" : value2}, {"field1" : value3, "field2" : value4}, ...]
以前にも同様の質問があり、消費されたメディアタイプをテキストに変更し、JSONを手動で逆シリアル化するという簡単な提案がありましたが、よりクリーンなソリューションをお勧めします。
送信しているJSONはこのコンテキストでも有効ですか、それともトップレベル{}
、つまりラッパーエンティティが必要ですか?これも少し不自然に思えます。
ありがとうございました、
/デビッド