Class ResponseEntityReturnValueHandler
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler
- All Implemented Interfaces:
HandlerMethodReturnValueHandler
public class ResponseEntityReturnValueHandler
extends Object
implements HandlerMethodReturnValueHandler
Handler for return values of type
ResponseEntity
that delegates to one of the following:
HttpEntityMethodProcessorfor responses with a concrete body valueResponseBodyEmitterReturnValueHandlerfor responses with a body that is aResponseBodyEmitteror an async/reactive type.
Use of this wrapper allows for late check in handleReturnValue(Object, MethodParameter, ModelAndViewContainer, NativeWebRequest) of
the type of the actual body value in case the method signature does not
provide enough information to decide via supportsReturnType(MethodParameter).
- Since:
- 6.2.9
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorsConstructorDescriptionResponseEntityReturnValueHandler(HttpEntityMethodProcessor httpEntityMethodProcessor, ResponseBodyEmitterReturnValueHandler responseBodyEmitterHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest request) Handle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly.booleansupportsReturnType(MethodParameter returnType) Whether the given method return type is supported by this handler.
-
Constructor Details
-
ResponseEntityReturnValueHandler
public ResponseEntityReturnValueHandler(HttpEntityMethodProcessor httpEntityMethodProcessor, ResponseBodyEmitterReturnValueHandler responseBodyEmitterHandler)
-
-
Method Details
-
supportsReturnType
Description copied from interface:HandlerMethodReturnValueHandlerWhether the given method return type is supported by this handler.- Specified by:
supportsReturnTypein interfaceHandlerMethodReturnValueHandler- Parameters:
returnType- the method return type to check- Returns:
trueif this handler supports the supplied return type;falseotherwise
-
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest request) throws Exception Description copied from interface:HandlerMethodReturnValueHandlerHandle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly.- Specified by:
handleReturnValuein interfaceHandlerMethodReturnValueHandler- Parameters:
returnValue- the value returned from the handler methodreturnType- the type of the return value. This type must have previously been passed toHandlerMethodReturnValueHandler.supportsReturnType(MethodParameter)which must have returnedtrue.mavContainer- the ModelAndViewContainer for the current requestrequest- the current request- Throws:
Exception- if the return value handling results in an error
-