Loading...
Spring Framework Reference Documentation 7.0.2의 ResponseEntity의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
See equivalent in the Reactive stack
ResponseEntity는 상태와 헤더를 함께 사용하는 @ResponseBody와 같습니다. 예를 들어:
1@GetMapping("/something") 2public ResponseEntity<String> handle() { 3 String body = ... ; 4 String etag = ... ; 5 return ResponseEntity.ok().eTag(etag).body(body); 6}
1@GetMapping("/something") 2fun handle(): ResponseEntity<String> { 3 val body = ... 4 val etag = ... 5 return ResponseEntity.ok().eTag(etag).build(body) 6}
body는 일반적으로 값 객체로 제공되며, 등록된 HttpMessageConverters 중 하나에 의해
해당 응답 표현(예를 들어, JSON)으로 렌더링됩니다.
ResponseEntity<Resource>는 파일 콘텐츠에 대해 반환될 수 있으며, 제공된 리소스의
InputStream 콘텐츠를 응답 OutputStream으로 복사합니다. InputStream은
응답으로 복사된 후에 신뢰할 수 있게 닫을 수 있도록 Resource 핸들에 의해 지연
검색되어야 한다는 점에 유의해야 합니다.
이러한 목적을 위해 InputStreamResource를 사용하는 경우, 실제 InputStream을 검색하는 람다 표현식과 같은 온디맨드
InputStreamSource로 이를 구성해야 합니다. 또한, InputStreamResource의 커스텀
서브클래스는 해당 목적을 위해 스트림을 소비하는 것을 피하는 커스텀
contentLength() 구현과 결합되는 경우에만 지원됩니다.
Spring MVC는 단일 값 리액티브 타입를 사용하여
ResponseEntity를 비동기적으로 생성하고, body에 대해 단일 및 다중 값 리액티브
타입을 사용하는 것을 지원합니다. 이는 다음과 같은 유형의 비동기 응답을 허용합니다:
ResponseEntity<Mono<T>> 또는 ResponseEntity<Flux<T>>는 응답 상태와
헤더를 즉시 알 수 있게 하며, body는 나중 시점에 비동기적으로 제공됩니다.
body가 0..1개의 값으로 구성되는 경우 Mono를 사용하고, 여러 값을 생성할 수 있는 경우
Flux를 사용하십시오.
Mono<ResponseEntity<T>>는 응답 상태, 헤더, body 세 가지 모두를
나중 시점에 비동기적으로 제공합니다. 이는 비동기 요청 처리의 결과에 따라
응답 상태와 헤더가 달라질 수 있도록 합니다.
@ResponseBody
Jackson JSON