我正在使用 Jersey 1.11 在 Java 中构建 RESTful Web 服务,并且在实现使用 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 在这种情况下是否有效,还是我需要一个顶级的{}
即包装实体?这似乎也有点不自然。
谢谢,
/大卫