【发布时间】:2019-12-16 17:27:11
【问题描述】:
我有一些数据的实体,有字段price。
我有获取所有项目价格总和的方法。 如果此方法返回 Double,我应该如何实现控制器方法以在 Json 中获取它?
@GetMapping("/sum")
public ResponseEntity<Double> getSum(){
return ResponseEntity.status(HttpStatus.OK).body(productService.getSum());
}
通过这种方法,我收到没有 JSON 结构的数字作为响应。
假设我们有:123456.0
但我们需要:
{
"sum" : 123456.0
}
【问题讨论】:
-
创建一个类,其属性名为 sum,类型为 double。并返回一个 ResponseEntity
. -
@JBNizet 那么这只是一种方法吗?
-
不,不是。课堂简单吗?这是一件好事:简单就是好的。如果您必须返回其他值(aferage、百分位数等),那么您将向该类添加属性。
-
ResponseEntity 在你想动态返回其他状态码时很有用(如果它总是一样,那么你可以使用 ResponseStatus 注解),或者当你想添加标题,或设置内容类型时,等等。看看它的javadoc。
-
是的,它是一个 DTO,因为它的目的是传输数据。
标签: java json spring spring-boot