Java 将传入的jax-rs-POST-json消息体包装到父对象中

Java 将传入的jax-rs-POST-json消息体包装到父对象中,java,json,rest,jax-rs,Java,Json,Rest,Jax Rs,我需要解析一些到达我的端点的json我无法更改传入的json,它是由第三方发送的。请求主体中的json在技术上是有效的,但它没有父元素,因此我似乎无法解析它。理想情况下,我能够将整个内容包装在一个对象中,因此,基本上,我如何实际添加“包装器”对象: 如果原件是: { "value1": 1, "value2": 2, "value3": 3 } 有了它,我可以创建一个模型并使用xml注释,就像我在项目中的其他地方一样,如下所示: @XmlRootElement(name = "wr

我需要解析一些到达我的端点的json我无法更改传入的json,它是由第三方发送的。请求主体中的json在技术上是有效的,但它没有父元素,因此我似乎无法解析它。理想情况下,我能够将整个内容包装在一个对象中,因此,基本上,我如何实际添加“包装器”对象:

如果原件是:

{
  "value1": 1,
  "value2": 2,
  "value3": 3
}
有了它,我可以创建一个模型并使用xml注释,就像我在项目中的其他地方一样,如下所示:

@XmlRootElement(name = "wrapper")
@XmlAccessorType(XmlAccessType.NONE)
public class WrapperObject {

    @XmlElement(name = "value1")
    private int value1;
    @XmlElement(name = "value2")
    private int value2;
    @XmlElement(name = "value3")
    private int value3;
}
然后我就可以用剩下的方法了

@POST
@Path("/cloud")
@Override
public Response handleResponse(WrapperObject wrapper) throws Exception {
}

因为你的问题是一个答案,我的答案将是一个问题。你问什么?p、 你的想法和代码看起来不错。当项目分布在前端和后端团队之间时,他们应该始终就数据传输对象签订合同,以便双方都可以进行解析。

我的问题只是一个我希望看到的示例,而不是如何实现这一点。我希望能够在rest方法中直接解析包装器对象。您必须使用该包装器类构建Gson或jackson对象将包装器对象作为rest服务更新答案的@requestparam。因此,您不能更改传入的json结构是正常的
@POST
@Path("/cloud")
@Override
public Response handleResponse(WrapperObject wrapper) throws Exception {
}