通过CUSTOM响应Spring Boot创建JSON对象

时间:2019-12-16 17:27:11

标签: java json spring spring-boot

我有一个包含一些数据的实体,该实体的字段为price

我有获取所有项目价格总和的方法。 如果此方法返回Double,我应该如何在Json中实现控制器方法来获取它?现在我只是得到一些回应。

@GetMapping("/sum")
    public ResponseEntity<Double> getSum(){
        return ResponseEntity.status(HttpStatus.OK).body(productService.getSum());
    }

我有: 123456.0

我想要: {   “总和”:123456.0 }

1 个答案:

答案 0 :(得分:1)

class ThatCustomClass {
 BigDecimal sum;
}

有不同的方法可以做到这一点。按我的喜好降序排列

  1. 回复ResponseEntity<ThatCustomClass>

    @JBNizet已经对此进行了解释

  2. 使用ThatCustomClass进行响应。然后使用controllerAdvices和Exceptions发送200以外的任何内容

  3. 使用HashMap代替DTO
  4. 使用字符串操作创建JSON字符串(我什至不知道为什么在此列出了此选项)

顺便说一句,由于货币操作不使用Double / Float,请使用BigDecimal代替http://java-performance.info/bigdecimal-vs-double-in-financial-calculations/