public class RequestResponseBodyMethodProcessor extends AbstractMessageConverterMethodProcessor
@RequestBody and handles
return values from methods annotated with @ResponseBody by reading
and writing to the body of the request or response with an
HttpMessageConverter.
An @RequestBody method argument is also validated if it is
annotated with @javax.validation.Valid. In case of validation
failure, MethodArgumentNotValidException is raised and results
in a 400 response status code if DefaultHandlerExceptionResolver
is configured.
allSupportedMediaTypes, logger, messageConverters| Constructor and Description |
|---|
RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> messageConverters) |
| 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. |
Object |
resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest,
WebDataBinderFactory binderFactory)
Resolves a method parameter into an argument value from a given request.
|
boolean |
supportsParameter(MethodParameter parameter)
Whether the given method parameter is
supported by this resolver.
|
boolean |
supportsReturnType(MethodParameter returnType)
Whether the given method return type is
supported by this handler.
|
createOutputMessage, getProducibleMediaTypes, writeWithMessageConverters, writeWithMessageConverterscreateInputMessage, readWithMessageConverters, readWithMessageConverterspublic RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> messageConverters)
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolverparameter - the method parameter to checktrue if this resolver supports the supplied parameter;
false otherwisepublic boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandlerreturnType - the method return type to checktrue if this handler supports the supplied return type;
false otherwisepublic Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception
HandlerMethodArgumentResolverModelAndViewContainer provides access to the model for the
request. A WebDataBinderFactory provides a way to create
a WebDataBinder instance when needed for data binding and
type conversion purposes.parameter - the method parameter to resolve. This parameter must
have previously been passed to
HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
and it must have returned truemavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestbinderFactory - a factory for creating WebDataBinder instancesnull.Exception - in case of errors with the preparation of argument valuespublic void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws IOException, HttpMediaTypeNotAcceptableException
HandlerMethodReturnValueHandlerModelAndViewContainer.setRequestHandled(boolean) flag to true
to indicate the response has been handled directly.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)
and it must have returned truemavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestIOExceptionHttpMediaTypeNotAcceptableExceptionCopyright © 2013. All Rights Reserved.