public class ResponseBodyEmitterReturnValueHandler extends 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(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)
HandlerMethodReturnValueHandler
supportsReturnType
in interface HandlerMethodReturnValueHandler
returnType
- 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
HandlerMethodReturnValueHandler
ModelAndViewContainer.setRequestHandled(boolean)
flag to true
to indicate the response has been handled directly.handleReturnValue
in interface HandlerMethodReturnValueHandler
returnValue
- 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