在父对象中包装传入的jax-rs POST json消息正文

时间:2017-04-20 15:45:46

标签: java json rest jax-rs

我需要解析一些来自我的端点的json。 我无法更改传入的json ,它是由第三方发送的。请求正文中的json在技术上是有效的,但它没有父元素,所以我似乎无法解析它。理想情况下,我能够将整个事物包装在一个对象中,所以基本上,我怎么能实际添加“包装器”对象:

{
  "wrapper": {
    {
      "value1": 1,
      "value2": 2,
      "value3": 3
    }
  }
}

如果原件是:

{
  "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 {
}

1 个答案:

答案 0 :(得分:0)

由于你的问题是一个答案,我的回答将是一个问题。你问什么?附:你的想法和代码看起来很好。当一个项目在前端和后端团队之间传播时,他们应该总是有一个关于数据传输对象的合同,因此双方都可以进行解析。