public class ResponseBodyEmitterReturnValueHandler extends java.lang.Object implements HandlerMethodReturnValueHandler
ResponseBodyEmitter and sub-classes
such as SseEmitter including the same types wrapped with
ResponseEntity.
As of 5.0 also supports reactive return value types for any reactive
library with registered adapters in ReactiveAdapterRegistry.
| Constructor and Description |
|---|
ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters)
Simple constructor with reactive type support based on a default instance of
ReactiveAdapterRegistry,
SyncTaskExecutor, and
ContentNegotiationManager with an Accept header strategy. |
ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters,
ReactiveAdapterRegistry reactiveRegistry,
TaskExecutor executor,
ContentNegotiationManager manager)
Complete constructor with pluggable "reactive" type support.
|
| Modifier and Type | Method and Description |
|---|---|
void |
handleReturnValue(java.lang.Object returnValue,
MethodParameter returnType,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest)
Handle the given return value by adding attributes to the model and
setting a view or setting the
ModelAndViewContainer.setRequestHandled(boolean) flag to true
to indicate the response has been handled directly. |
boolean |
supportsReturnType(MethodParameter returnType)
Whether the given method return type is
supported by this handler.
|
public ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters)
ReactiveAdapterRegistry,
SyncTaskExecutor, and
ContentNegotiationManager with an Accept header strategy.public ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters, ReactiveAdapterRegistry reactiveRegistry, TaskExecutor executor, ContentNegotiationManager manager)
messageConverters - converters to write emitted objects withreactiveRegistry - for reactive return value type supportexecutor - for blocking I/O writes of items emitted from reactive typesmanager - for detecting streaming media typespublic boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandlersupportsReturnType in interface HandlerMethodReturnValueHandlerreturnType - the method return type to checktrue if this handler supports the supplied return type;
false otherwisepublic void handleReturnValue(@Nullable java.lang.Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws java.lang.Exception
HandlerMethodReturnValueHandlerModelAndViewContainer.setRequestHandled(boolean) flag to true
to indicate the response has been handled directly.handleReturnValue in interface HandlerMethodReturnValueHandlerreturnValue - the value returned from the handler methodreturnType - the type of the return value. This type must have
previously been passed to HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter) which must
have returned true.mavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestjava.lang.Exception - if the return value handling results in an error