java - Spring Boot 修改默认 JSON 响应

标签 java json spring spring-boot

我有一个 REST Controller ,它返回一个产品列表,如下所示:

当前输出

[  
   {  
      "id":1,
      "name":"Money market"
   },
   {  
      "id":2,
      "name":"Certificate of Deposit"
   },
   {  
      "id":3,
      "name":"Personal Savings"
   }
]

为了让我们的 JS 网格库正常工作,我需要将响应修改为如下所示:

期望的输出

{ "data" :
   [  
       {  
          "id":1,
          "name":"Money market"
       },
       {  
          "id":2,
          "name":"Certificate of Deposit"
       },
       {  
          "id":3,
          "name":"Personal Savings"
       }
    ]
}

Controller

@RequestMapping(value = "/api/products", method = RequestMethod.GET)
public ResponseEntity<?> getAllProducts() {

  List<Product> result = productService.findAll();
  return ResponseEntity.ok(result);
}

是否有使用原生 Spring 库修改 JSON 响应的简单方法?

最佳答案

您可以将结果对象放入具有键“data”和值作为结果的 Map 中。

map.put("数据", 结果);

然后从rest方法返回 map 对象。

return ResponseEntity.ok(map);

关于java - Spring Boot 修改默认 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42842675/

相关文章:

java - 动态改变 jButton 图标

java - 通过 Windows 7 控制台打开 SBT 时出现问题

javascript - Mapbox 不与另一个 .geojson 文件一起使用的示例

java - Thymeleaf - 使用动态 url 生成图像 url

java - Spring JdbcTemplate 无法从 MySQL 获取插入 ID

java - 如何使用子文件夹作为 web.xml 欢迎目录

java - Android : Apache POI duplicate entry: org/apache/xmlbeans/xml/stream/Location.类错误

java - 根据键对 JSON 对象/字符串进行排序

php - 从android中的mysql数据库中检索edittext中的数据

Spring Data JPA Repository Method Query 与like?