跳到主要内容

ResponseEntity

DeepSeek V3 中英对照 ResponseEntity

ResponseEntity 类似于 @ResponseBody,但它还包含了状态码和响应头。例如:

@GetMapping("/something")
public ResponseEntity<String> handle() {
String body = ... ;
String etag = ... ;
return ResponseEntity.ok().eTag(etag).body(body);
}
java

WebFlux 支持使用单一值的响应式类型来异步生成 ResponseEntity,并且/或者使用单一值和多值响应式类型作为响应体。这使得可以通过 ResponseEntity 实现多种异步响应,如下所示:

  • ResponseEntity<Mono<T>>ResponseEntity<Flux<T>> 会立即确定响应状态和标头,而响应体则在稍后异步提供。如果响应体包含 0 到 1 个值,使用 Mono;如果响应体可能包含多个值,则使用 Flux

  • Mono<ResponseEntity<T>> 会异步提供所有三个部分——响应状态、标头和响应体。这使得响应状态和标头可以根据异步请求处理的结果而变化。

  • Mono<ResponseEntity<Mono<T>>>Mono<ResponseEntity<Flux<T>>> 是另一种可能的替代方案,尽管不太常见。它们首先异步提供响应状态和标头,然后异步提供响应体。