|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
ResponseEntity
ResponseEntity 类似于 @ResponseBody,但包含状态码和响应头。例如:
-
Java
-
Kotlin
@GetMapping("/something")
public ResponseEntity<String> handle() {
String body = ... ;
String etag = ... ;
return ResponseEntity.ok().eTag(etag).body(body);
}
@GetMapping("/something")
fun handle(): ResponseEntity<String> {
val body = ...
val etag = ...
return ResponseEntity.ok().eTag(etag).build(body)
}
Spring MVC 支持使用单值响应式类型来异步生成ResponseEntity,以及使用单值和多值响应式类型作为响应体。这使得可以实现以下类型的异步响应:
-
ResponseEntity<Mono<T>>或ResponseEntity<Flux<T>>可以立即确定响应状态和响应头,而响应体则在稍后异步提供。 如果响应体包含 0 到 1 个值,请使用Mono;如果可能产生多个值,请使用Flux。 -
Mono<ResponseEntity<T>>可在稍后的异步时间点提供全部三项内容——响应状态、响应头和响应体。这使得响应状态和响应头可以根据异步请求处理的结果而变化。