ResponseEntity
는 @ResponseBody
와 비슷하지만 상태와 헤더가 있습니다. 예를 들어:
@GetMapping("/something")
public ResponseEntity<String> handle() {
String body = ... ;
String etag = ... ;
return ResponseEntity.ok().eTag(etag).body(body);
}
Spring MVC는 단일 값 반응 type을 사용하여 ResponseEntity
를 비동기적으로 생성하거나 본문에 대한 단일 및 다중 값 반응 유형을 지원합니다. 이를 통해 다음 유형의 비동기 응답이 허용됩니다.
ResponseEntity<Mono<T>>
또는 ResponseEntity<Flux<T>>
는 응답 상태와 헤더를 즉시 알리고 본문은 나중에 비동기적으로 제공됩니다. 본문이 0..1 값으로 구성된 경우 Mono
를 사용하고 여러 값을 생성할 수 있는 경우 Flux
를 사용합니다.
Mono<ResponseEntity<T>>
는 나중에 응답 상태, 헤더, 본문 세 가지를 모두 비동기식으로 제공합니다. 이를 통해 응답 상태와 헤더가 비동기 요청 처리 결과에 따라 달라질 수 있습니다.