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(java.lang.Object, org.springframework.core.MethodParameter, org.springframework.web.method.support.ModelAndViewContainer, org.springframework.web.context.request.NativeWebRequest) of
the type of the actual body value in case the method signature does not
provide enough information to decide via supportsReturnType(org.springframework.core.MethodParameter).
- Since:
- 6.2.9
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorsConstructorDescriptionResponseEntityReturnValueHandler(HttpEntityMethodProcessor httpEntityMethodProcessor, ResponseBodyEmitterReturnValueHandler responseBodyEmitterHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleReturnValue(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(org.springframework.core.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
-