public class ResponseBodyEmitterReturnValueHandler extends java.lang.Object implements AsyncHandlerMethodReturnValueHandler
ResponseBodyEmitter
and also
ResponseEntity<ResponseBodyEmitter>
.Modifier and Type | Class and Description |
---|---|
private class |
ResponseBodyEmitterReturnValueHandler.HttpMessageConvertingHandler
ResponseBodyEmitter.Handler that writes with HttpMessageConverter's.
|
private static class |
ResponseBodyEmitterReturnValueHandler.StreamingServletServerHttpResponse
Wrap to silently ignore header changes HttpMessageConverter's that would
otherwise cause HttpHeaders to raise exceptions.
|
Modifier and Type | Field and Description |
---|---|
private static Log |
logger |
private java.util.List<HttpMessageConverter<?>> |
messageConverters |
Constructor and Description |
---|
ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters) |
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 |
isAsyncReturnValue(java.lang.Object returnValue,
MethodParameter returnType)
Whether the given return value represents asynchronous computation.
|
boolean |
supportsReturnType(MethodParameter returnType)
Whether the given method return type is
supported by this handler.
|
private static final Log logger
private final java.util.List<HttpMessageConverter<?>> messageConverters
public ResponseBodyEmitterReturnValueHandler(java.util.List<HttpMessageConverter<?>> messageConverters)
public 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 boolean isAsyncReturnValue(java.lang.Object returnValue, MethodParameter returnType)
AsyncHandlerMethodReturnValueHandler
isAsyncReturnValue
in interface AsyncHandlerMethodReturnValueHandler
returnValue
- the return valuereturnType
- the return typetrue
if the return value is asynchronous.public void handleReturnValue(java.lang.Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws java.lang.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 requestjava.lang.Exception
- if the return value handling results in an error