SpringBoot ResponseEntity,返回带有JSONView的响应,并在Key中嵌入最终的JSON

时间:2018-08-21 02:10:22

标签: spring-boot response spring-restcontroller

我有一个对象Customer,具有字段id,name和name2,当我用ResponseEntity返回响应时,在我的控制器中,我得到了以下内容

{
id : "111",
name : "NV",
name2 : "BB"
}

我的存储库类中有findById方法,并在返回客户对象的服务类中使用它们。

但是我的要求是要得到如下响应

{
"customer"
{
id : "111",
name : "NV",
name2 " : "BB"
}
}

因此,我用hashMap返回了响应,该映射将具有键“ Customer”和值为客户对象,并将其包装到ResponseEntity中,这将为我提供正确的结果。

finalResponse.put("customer",customerObjfromRepo);
            return new ResponseEntity<>(finalResponse, HttpStatus.OK);

但是我实际上想从Response JSON中过滤掉某些字段,所以我试图使用@JSONView注释来过滤字段name2。但它不起作用,只能给出{"customer" {}}

这样的空客户响应

如果我与客户一起使用ResponseEntity,它将正确过滤字段并给出如下响应

{
id : "111",
name : "NV"
}

但是我最终想要下面的

{
"customer" : {
id : "111",
name : "NV",
name2 " : "BB"
}
}

您能建议解决我问题的最佳方法吗?谢谢。

0 个答案:

没有答案