@ResponseBody
|
반환 값이 HttpMessageConverter 구현을 통해 변환되고 응답으로 작성됩니다. @ResponseBody 참조. |
HttpEntity<B> , ResponseEntity<B>
|
전체 응답(포함된 HTTP 헤더 및 본문)을 지정하는 반환 값이 HttpMessageConverter 구현을 통해 변환되어 응답으로 작성됩니다. ResponseEntity 참조. |
HttpHeaders
|
헤더와 본문이 없는 응답을 반환합니다. |
ErrorResponse
|
본문에 세부 내용이 포함된 RFC 7807 오류 응답을 렌더링합니다. 오류 응답 참조 |
ProblemDetail
|
본문에 세부 내용이 포함된 RFC 7807 오류 응답을 렌더링합니다. 오류 응답 참조 |
String
|
ViewResolver 구현을 통해 해결할 뷰 이름 및 암시적 모델과 함께 사용됩니다. 명령 객체 및 @ModelAttribute 메소드를 통해 결정됩니다. 핸들러 메소드는 또한 Model 인수를 선언하여 모델을 프로그래밍 방식으로 보강할 수 있습니다. (명시적 등록 참조).
|
View
|
View 인스턴스를 사용하여 암시적 모델과 함께 렌더링합니다. 명령 객체 및 @ModelAttribute 메소드를 통해 결정됩니다. 핸들러 메소드는 또한 Model 인수를 선언하여 모델을 프로그래밍 방식으로 보강할 수 있습니다. (명시적 등록 참조).
|
java.util.Map , org.springframework.ui.Model
|
암시적 모델에 추가할 속성으로, 뷰 이름은 RequestToViewNameTranslator 를 통해 암시적으로 결정됩니다. |
@ModelAttribute
|
모델에 추가할 속성으로, 뷰 이름은 RequestToViewNameTranslator 를 통해 암시적으로 결정됩니다.
참고: @ModelAttribute 는 선택 사항입니다. 이 표의 맨 아래의 "기타 반환 값"을 참조하십시오. |
ModelAndView 객체
|
사용할 뷰 및 모델 속성 및 필요한 경우 응답 상태입니다. |
void
|
void 반환 유형(또는 null 반환 값)의 메소드는 ServletResponse , OutputStream 인수 또는 @ResponseStatus 주석이 있으면 응답을 완전히 처리한 것으로 간주
됩니다. 컨트롤러가 긍정적인 ETag 또는 lastModified 타임스탬프 확인을 수행한 경우도 마찬가지입니다. (컨트롤러 참조).
위의 조건 중 하나도 해당되지 않으면 void 반환 유형은 REST 컨트롤러의 "응답 본문 없음"이나 HTML 컨트롤러의 기본 뷰 이름 선택을 나타낼 수 있습니다. |
DeferredResult<V>
|
임의의 스레드에서 DeferredResult 를 통해 이전된 반환 값을 비동기적으로 생성합니다. 예를 들어 어떤 이벤트 또는 콜백의 결과로 생성됩니다. 비동기 요청 및 DeferredResult 참조. |
Callable<V>
|
Spring MVC 관리 스레드에서 Callable 을 통해 위의 반환 값을 비동기적으로 생성합니다. 비동기 요청 및 Callable 참조. |
ListenableFuture<V> ,
java.util.concurrent.CompletionStage<V> ,
java.util.concurrent.CompletableFuture<V>
|
기본 서비스가 해당 값을 반환하는 경우와 같이 편리성을 위해 DeferredResult 대체로 사용될 수 있습니다. |
ResponseBodyEmitter , SseEmitter
|
HttpMessageConverter 구현을 통해 응답으로 작성될 객체 스트림을 비동기적으로 전송합니다. ResponseEntity 의 본문으로도 지원됩니다. 비동기 요청 및 HTTP 스트리밍 참조.
|
StreamingResponseBody
|
응답 OutputStream 에 비동기적으로 작성합니다. ResponseEntity 의 본문으로도 지원됩니다. 비동기 요청 및 HTTP 스트리밍 참조. |
리액터 및 다른 반응형 유형 (ReactiveAdapterRegistry 를 통해 등록) |
단일 값 유형인 경우, 예를 들어 Mono 는 DeferredResult 를 반환하는 것과 유사합니다. 다중 값 유형인 경우, 예를 들어 Flux 는 요청된 미디어 유형에 따라 스트림으로 처리되거나, "text/event-stream", "application/json+stream" 또는 기타로 수집되어 단일 값으로 렌더링됩니다. 비동기 요청 및 반응형 유형 참조. |
기타 반환 값 |
기타 모든 방법으로 해결되지 않은 반환 값은 모델 속성으로 처리됩니다. 그러나 BeanUtils#isSimpleProperty에 의해 간단한 유형으로 결정되는 경우에는 그렇지 않습니다. |