|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor
org.springframework.web.servlet.mvc.method.annotation.support.RequestResponseBodyMethodProcessor
public class RequestResponseBodyMethodProcessor
Resolves method arguments annotated with @RequestBody and handles return values from methods
annotated with ResponseBody.
An @RequestBody method argument will be validated if annotated with @Valid. A
Validator instance can be configured globally in XML configuration with the Spring MVC namespace
or in Java-based configuration with @EnableWebMvc.
| Field Summary |
|---|
| Fields inherited from class org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor |
|---|
logger |
| Constructor Summary | |
|---|---|
RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> messageConverters)
|
|
| Method Summary | |
|---|---|
void |
handleReturnValue(Object returnValue,
MethodParameter returnType,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest)
Handle the given return value by adding attributes to the model, setting the view (or view name), or by writing to the response. |
Object |
resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest,
WebDataBinderFactory binderFactory)
Resolves a method parameter into an argument value from a given request. |
protected boolean |
shouldValidate(MethodParameter parameter,
Object argumentValue)
Whether to validate the given @ RequestBody method argument. |
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. |
| Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor |
|---|
createInputMessage, createOutputMessage, getProducibleMediaTypes, readWithMessageConverters, writeWithMessageConverters, writeWithMessageConverters |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> messageConverters)
| Method Detail |
|---|
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
parameter - the method parameter to check
true if this resolver supports the supplied parameter; false otherwisepublic boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandler
returnType - the method return type to check
true if this handler supports the supplied return type; false otherwise
public 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 instances
null.
Exception - in case of errors with the preparation of argument values
protected boolean shouldValidate(MethodParameter parameter,
Object argumentValue)
RequestBody method argument. The default implementation checks
if the parameter is also annotated with @Valid.
parameter - the method argument for which to check if validation is neededargumentValue - the method argument value (instantiated with a message converter)
true if validation should be invoked, false otherwise.
public void handleReturnValue(Object returnValue,
MethodParameter returnType,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest)
throws IOException,
HttpMediaTypeNotAcceptableException
HandlerMethodReturnValueHandlerHandlerMethodReturnValueHandler implementations should also
consider whether to set ModelAndViewContainer.setResolveView(boolean), which is set to
true by default and therefore needs to be set to false explicitly if view
resolution is to be bypassed.
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 request
IOException
HttpMediaTypeNotAcceptableException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||