|
Spring Framework | ||||||||
| 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.AbstractMessageConverterMethodArgumentResolver
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor
org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor
public class RequestResponseBodyMethodProcessor
Resolves method arguments annotated with @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.
| Field Summary |
|---|
| Fields inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver |
|---|
allSupportedMediaTypes, logger, messageConverters |
| Constructor Summary | |
|---|---|
RequestResponseBodyMethodProcessor(java.util.List<HttpMessageConverter<?>> messageConverters)
|
|
| Method Summary | ||
|---|---|---|
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. |
|
protected
|
readWithMessageConverters(HttpInputMessage inputMessage,
MethodParameter methodParam,
java.lang.Class<T> paramType)
Creates the method argument value of the expected parameter type by reading from the given HttpInputMessage. |
|
java.lang.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. |
|
| Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor |
|---|
createOutputMessage, getProducibleMediaTypes, writeWithMessageConverters, writeWithMessageConverters |
| Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver |
|---|
createInputMessage, readWithMessageConverters |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RequestResponseBodyMethodProcessor(java.util.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 java.lang.Object resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest,
WebDataBinderFactory binderFactory)
throws java.lang.Exception
ModelAndViewContainer 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.
MethodArgumentNotValidException - if validation fails
HttpMessageNotReadableException - if RequestBody.required()
is true and there is no body content or if there is no suitable
converter to read the content with.
java.lang.Exception - in case of errors with the preparation of argument values
protected <T> java.lang.Object readWithMessageConverters(HttpInputMessage inputMessage,
MethodParameter methodParam,
java.lang.Class<T> paramType)
throws java.io.IOException,
HttpMediaTypeNotSupportedException
AbstractMessageConverterMethodArgumentResolver
readWithMessageConverters in class AbstractMessageConverterMethodArgumentResolverT - the expected type of the argument value to be createdinputMessage - the HTTP input message representing the current requestmethodParam - the method argumentparamType - the type of the argument value to be created
java.io.IOException - if the reading from the request fails
HttpMediaTypeNotSupportedException - if no suitable message converter is found
public void handleReturnValue(java.lang.Object returnValue,
MethodParameter returnType,
ModelAndViewContainer mavContainer,
NativeWebRequest webRequest)
throws java.io.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 request
java.io.IOException
HttpMediaTypeNotAcceptableException
|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||