ResponseEntity
是Spring框架中的一个类,它是HttpEntity的一个子接口,用于完成HTTP请求的响应。它不仅包含响应的主体(body),还包含了HTTP的状态码(status code)和头部信息(header)。
在SpringBoot中,我们可以使用ResponseEntity来向前端返回数据,并且可以自定义返回的HTTP状态码和内容类型。
以下是一些使用ResponseEntity的示例:
- 返回一个简单的字符串作为响应体:
@GetMapping("/hello")
public ResponseEntity<String> hello() {
return ResponseEntity.ok("Hello, World!");
}
在这个例子中,我们使用ResponseEntity.ok
方法来创建一个状态码为200的响应实体,并将字符串"Hello, World!"作为响应体返回。
- 返回一个对象作为响应体:
@GetMapping("/user")
public ResponseEntity<User> getUser() {
User user = new User("John", "Doe");
return ResponseEntity.status(HttpStatus.CREATED).body(user);
}
在这个例子中,我们创建了一个User对象,并使用ResponseEntity.status
方法来设置状态码为201(Created),然后使用body
方法将User对象作为响应体返回。
- 返回一个自定义的状态码和内容类型:
@GetMapping("/custom")
public ResponseEntity<String> customResponse() {
return ResponseEntity.status(HttpStatus.I_AM_A_TEAPOT)
.contentType(MediaType.APPLICATION_JSON)
.body("{\"message\":\"I am a teapot\"}");
}
在这个例子中,我们使用ResponseEntity.status
方法来设置一个非标准的状态码(RFC 2324定义的茶壶响应,状态码为418),然后使用contentType
方法来设置响应的内容类型为JSON,并将JSON字符串作为响应体返回。
以上就是使用ResponseEntity的一些基本示例。在实际开发中,可以根据需要自定义返回的状态码、内容类型和响应体。