Class ResponseBodyEmitterReturnValueHandler
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodReturnValueHandler
public class ResponseBodyEmitterReturnValueHandler
extends Object
implements org.springframework.web.method.support.HandlerMethodReturnValueHandler
Handler for return values of type:
ResponseBodyEmitterincluding sub-classSseEmitterand others.- Reactive return types known to
ReactiveAdapterRegistry. - Any of the above wrapped with
ResponseEntity.
Single-value reactive types are adapted to DeferredResult.
Multi-value reactive types are adapted to ResponseBodyEmitter or
SseEmitter as follows:
- SSE stream, if the element type is
ServerSentEventor if negotiated by content type. - Text stream for a
PublisherofCharSequence. - A JSON stream if negotiated by content type to
MediaType.APPLICATION_NDJSON.
- Since:
- 4.2
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorsConstructorDescriptionResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters) Simple constructor with reactive type support based on a default instance ofReactiveAdapterRegistry,SyncTaskExecutor, andContentNegotiationManagerwith an Accept header strategy.ResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters, org.springframework.core.ReactiveAdapterRegistry registry, org.springframework.core.task.TaskExecutor executor, org.springframework.web.accept.ContentNegotiationManager manager) Constructor that with added arguments to customize "reactive" type support.ResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters, org.springframework.core.ReactiveAdapterRegistry registry, org.springframework.core.task.TaskExecutor executor, org.springframework.web.accept.ContentNegotiationManager manager, List<ViewResolver> viewResolvers, LocaleResolver localeResolver) Constructor that with added arguments for view rendering. -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleReturnValue(Object returnValue, org.springframework.core.MethodParameter returnType, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest) booleansupportsReturnType(org.springframework.core.MethodParameter returnType)
-
Constructor Details
-
ResponseBodyEmitterReturnValueHandler
public ResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters) Simple constructor with reactive type support based on a default instance ofReactiveAdapterRegistry,SyncTaskExecutor, andContentNegotiationManagerwith an Accept header strategy. -
ResponseBodyEmitterReturnValueHandler
public ResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters, org.springframework.core.ReactiveAdapterRegistry registry, org.springframework.core.task.TaskExecutor executor, org.springframework.web.accept.ContentNegotiationManager manager) Constructor that with added arguments to customize "reactive" type support.- Parameters:
messageConverters- converters to write emitted objects withregistry- for reactive return value type supportexecutor- for blocking I/O writes of items emitted from reactive typesmanager- for detecting streaming media types- Since:
- 5.0
-
ResponseBodyEmitterReturnValueHandler
public ResponseBodyEmitterReturnValueHandler(List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters, org.springframework.core.ReactiveAdapterRegistry registry, org.springframework.core.task.TaskExecutor executor, org.springframework.web.accept.ContentNegotiationManager manager, List<ViewResolver> viewResolvers, @Nullable LocaleResolver localeResolver) Constructor that with added arguments for view rendering.- Parameters:
messageConverters- converters to write emitted objects withregistry- for reactive return value type supportexecutor- for blocking I/O writes of items emitted from reactive typesmanager- for detecting streaming media typesviewResolvers- resolvers for fragment stream renderinglocaleResolver- theLocaleResolverfor fragment stream rendering- Since:
- 6.2
-
-
Method Details
-
supportsReturnType
public boolean supportsReturnType(org.springframework.core.MethodParameter returnType) - Specified by:
supportsReturnTypein interfaceorg.springframework.web.method.support.HandlerMethodReturnValueHandler
-
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, org.springframework.core.MethodParameter returnType, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest) throws Exception - Specified by:
handleReturnValuein interfaceorg.springframework.web.method.support.HandlerMethodReturnValueHandler- Throws:
Exception
-