在http JAX RS响应中包装List <objects>时获取额外信息

时间:2017-12-21 11:49:43

标签: java rest jax-rs

        {
"context": {
    "headers": {},
    "entity": {
        "validationDetailsEntityList": [
            {
                "createTimestamp": 1512653225936,
                "modifyTimestamp": 1512653225936,
                "version": 0,
                "auditTimestamp": "2"
            },
            {
                "createTimestamp": 1512652876650,
                "modifyTimestamp": 1512652876650,
                "version": 0,
                "auditTimestamp": "2"
            },
            {
                "createTimestamp": 1512652955832,
                "modifyTimestamp": 1512652955832,
                "version": 0,
                "auditTimestamp": "2"
            }
        ]
    }

"entityType":"com.example.demo.wrapper.ABCDWrapper",
"entityAnnotations": [],
  

类编写如下以获取http映射请求的响应

    @RequestMapping(value = "/fetch", method = RequestMethod.POST)
    public Response getAllXYZDetails(@RequestBody QueryDetails queryDetailsPayLoad) {

        List<XYZEntity> xyzEntityList =  xyzService.getAllXYZDetails();
            return  Response.ok(xyzEntityList)
                        .build();

}

我正在尝试在http REST调用中从我的控制器类构建一个通用响应类型,所以我的返回类型是Response。 现在,发生的事情是: 生成的响应不仅具有我想要的json细节,而且还有很多额外的信息,如 entityType entityAnnotations 等等(请参阅上面的回复),我不想要。 如何摆脱那些只得到实体的回应?

1 个答案:

答案 0 :(得分:0)

如果您使用杰克逊注释,您可以配置几乎所有内容。在您的情况下,@JsonIgnore就足够了。

如果您使用的是JAX-RS / JAXB,那么在课堂上添加@JsonIgnoreProperties(ignoreUnknown = true)