public class ResponseBodyEmitterReturnValueHandler extends Object implements HandlerMethodReturnValueHandler
ResponseBodyEmitter and subclasses
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(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(List<HttpMessageConverter<?>> messageConverters,
ReactiveAdapterRegistry registry,
TaskExecutor executor,
ContentNegotiationManager manager)
Complete constructor with pluggable "reactive" type support.
|
| Modifier and Type | Method and Description |
|---|---|
void |
handleReturnValue(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(List<HttpMessageConverter<?>> messageConverters)
ReactiveAdapterRegistry,
SyncTaskExecutor, and
ContentNegotiationManager with an Accept header strategy.public ResponseBodyEmitterReturnValueHandler(List<HttpMessageConverter<?>> messageConverters, ReactiveAdapterRegistry registry, TaskExecutor executor, ContentNegotiationManager manager)
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 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 Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws 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 requestException - if the return value handling results in an error