我有办法
@POST @Path("test") @Consumes(MediaType.APPLICATION_JSON) public void test(ObjectOne objectOne, ObjectTwo objectTwo)
现在我知道我可以将一个对象以json格式发布,只需将其放入正文即可。但是可以做多个对象吗?如果是这样,怎么办?
答案是否定的。
原因很简单:这与您可以在方法中接收的参数有关。它们必须与请求相关。对?因此,它们必须是标题或cookie或查询参数或矩阵参数或路径参数或请求正文。(仅是为了讲述完整的故事,还有其他类型的参数称为上下文)。
现在,当您在请求中收到JSON对象时,您会在request正文中收到它 。该请求可能有几个机构?一个,只有一个。因此,您只能接收一个JSON对象。
你不能使用Tarlog正确说明的方法。
但是,你可以这样做:
@POST @Path("test") @Consumes(MediaType.APPLICATION_JSON) public void test(List<ObjectOne> objects)
或这个:
@POST @Path("test") @Consumes(MediaType.APPLICATION_JSON) public void test(BeanWithObjectOneAndObjectTwo containerObject)
此外,你始终可以将方法与GET参数结合使用:
@POST @Path("test") @Consumes(MediaType.APPLICATION_JSON) public void test(List<ObjectOne> objects, @QueryParam("objectTwoId") long objectTwoId)