如何将 JSON 响应包装在父对象中

我的 Spring REST 服务的当前响应如下:


[

    {

        "id": "5cc81d256aaed62f8e6462f4",

        "email": "exmaplefdd@gmail.com"

    },

    {

        "id": "5cc81d386aaed62f8e6462f5",

        "email": "exmaplefdd@gmail.com"

    }

]

我想将它包装在一个 json 对象中,如下所示:


 {  

 "elements":[

      {

        "id": "5cc81d256aaed62f8e6462f4",

        "email": "exmaplefdd@gmail.com"

    },

    {

        "id": "5cc81d386aaed62f8e6462f5",

        "email": "exmaplefdd@gmail.com"

     }

  ]

控制器:


   @RequestMapping(value = "/users", method = GET,produces = "application/xml")

   @ResponseBody

   public ResponseEntity<List<User>> getPartnersByDate(@RequestParam("type") String type, @RequestParam("id") String id) throws ParseException {


   List<User> usersList = userService.getUsersByType(type);

   return new ResponseEntity<List<User>>(usersList, HttpStatus.OK);

}

用户模型类:


@Document(collection = "user")

public class User {


 @Id

 private String id;

 private String email;

}

我该如何实施?


千万里不及你
浏览 105回答 1
1回答

幕布斯7119047

您可以创建一个新的对象来序列化:class ResponseWrapper {&nbsp; &nbsp; private List<User> elements;&nbsp; &nbsp; ResponseWrapper(List<User> elements) {&nbsp; &nbsp; &nbsp; &nbsp; this.elements = elements;&nbsp; &nbsp; }}ResponseWrapper然后在你的控制器方法中返回一个实例:&nbsp; &nbsp;@RequestMapping(value = "/users", method = GET,produces = "application/xml")&nbsp; &nbsp;@ResponseBody&nbsp; &nbsp;public ResponseEntity<ResponseWrapper> getPartnersByDate(@RequestParam("type") String type, @RequestParam("id") String id) throws ParseException {&nbsp; &nbsp;List<User> usersList = userService.getUsersByType(type);&nbsp; &nbsp;ResponseWrapper wrapper = new ResponseWrapper(usersList);&nbsp; &nbsp;return new ResponseEntity<ResponseWrapper>(wrapper, HttpStatus.OK);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java