|
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.7! |
ResponseEntity
ResponseEntity就像@ResponseBody但有 status 和 headers。例如:
-
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: String = ...
val etag: String = ...
return ResponseEntity.ok().eTag(etag).build(body)
}
WebFlux 支持使用单值响应式类型
生成ResponseEntity异步和/或单值和多值响应式类型
为了身体。这允许使用ResponseEntity如下:
-
ResponseEntity<Mono<T>>或ResponseEntity<Flux<T>>将响应状态设为 标头,而正文将在稍后异步提供。 用Mono如果主体由 0..1 值组成,或者Flux如果它可以产生多个值。 -
Mono<ResponseEntity<T>>提供所有三个 — 响应状态、标头和正文, 异步的。这允许响应状态和标头发生变化 取决于异步请求处理的结果。 -
Mono<ResponseEntity<Mono<T>>>或Mono<ResponseEntity<Flux<T>>>又是另一个 可能,尽管不太常见的替代方案。它们提供响应状态和标头 首先是异步的,然后是响应正文,也是异步的,其次。