【发布时间】:2021-07-05 15:36:50
【问题描述】:
我是 Spring Boot 的新手,我正在尝试创建处理程序方法以在 Spring Boot 中创建 REST API。为了处理请求 localhost:8080/stack 我创建了下面的处理程序方法,在该方法中我使用了 ResponseEntity 的构造函数来创建它的对象并在 return 语句中传递它。
@GetMapping("/stack")
public ResponseEntity<String> stack(){
System.out.println("I am stack method");
return new ResponseEntity<>("Body",HttpStatus.OK);
}
}
但我也可以使用下面的方法来做到这一点
@GetMapping("/stack")
public ResponseEntity<String> stack(){
System.out.println("I am stack method");
return ResponseEntity.status(HttpStatus.OK).body("Body");
}
我不知道使用构造函数或使用 build method() 在处理程序方法中创建和返回 ResponseEntity 对象的最佳方法是什么?为什么?有人请在这里帮忙。生产中哪种方式最受青睐?
【问题讨论】:
-
这是一个品味问题:)
-
这只是一个问题,事实上你甚至可以使用
ResponseEntitiy.ok("Body");或ResponseBody.ok().body("Body");,这样会更清晰更简洁。 -
请注意,如果您确实使用
status(这对于像 429 这样不太常见的情况是必需的),静态导入枚举值是个好主意,因为代码更具可读性。 -
在这种情况下,我将只返回一个类似于 public String stack() 的字符串。当我需要在该方法中添加东西时,我只会定义 ResponseEntity 返回对象。不过,所有 3 种方法都会给您相同的结果。
标签: java spring spring-boot api rest