org.springframework.web.servlet.mvc.method.annotation.support
Class AbstractMessageConverterMethodArgumentResolver
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver
- Direct Known Subclasses:
- AbstractMessageConverterMethodProcessor, RequestPartMethodArgumentResolver
public abstract class AbstractMessageConverterMethodArgumentResolver
- extends java.lang.Object
- implements HandlerMethodArgumentResolver
A base class for resolving method argument values by reading from the body of a request
with HttpMessageConverter
s.
- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected final Log logger
messageConverters
protected final java.util.List<HttpMessageConverter<?>> messageConverters
allSupportedMediaTypes
protected final java.util.List<MediaType> allSupportedMediaTypes
AbstractMessageConverterMethodArgumentResolver
public AbstractMessageConverterMethodArgumentResolver(java.util.List<HttpMessageConverter<?>> messageConverters)
getAllSupportedMediaTypes
private static java.util.List<MediaType> getAllSupportedMediaTypes(java.util.List<HttpMessageConverter<?>> messageConverters)
- Returns the media types supported by all provided message converters preserving their ordering and
further sorting by specificity via
MediaType.sortBySpecificity(List)
.
readWithMessageConverters
protected <T> java.lang.Object readWithMessageConverters(NativeWebRequest webRequest,
MethodParameter methodParam,
java.lang.Class<T> paramType)
throws java.io.IOException,
HttpMediaTypeNotSupportedException
- Creates the method argument value of the expected parameter type by reading from the given request.
- Type Parameters:
T
- the expected type of the argument value to be created- Parameters:
webRequest
- the current requestmethodParam
- the method argumentparamType
- the type of the argument value to be created
- Returns:
- the created method argument value
- Throws:
java.io.IOException
- if the reading from the request fails
HttpMediaTypeNotSupportedException
- if no suitable message converter is found
readWithMessageConverters
protected <T> java.lang.Object readWithMessageConverters(HttpInputMessage inputMessage,
MethodParameter methodParam,
java.lang.Class<T> paramType)
throws java.io.IOException,
HttpMediaTypeNotSupportedException
- Creates the method argument value of the expected parameter type by reading from the given HttpInputMessage.
- Type Parameters:
T
- the expected type of the argument value to be created- Parameters:
inputMessage
- the HTTP input message representing the current requestmethodParam
- the method argumentparamType
- the type of the argument value to be created
- Returns:
- the created method argument value
- Throws:
java.io.IOException
- if the reading from the request fails
HttpMediaTypeNotSupportedException
- if no suitable message converter is found
createInputMessage
protected ServletServerHttpRequest createInputMessage(NativeWebRequest webRequest)
- Creates a new
HttpInputMessage
from the given NativeWebRequest
.
- Parameters:
webRequest
- the web request to create an input message from
- Returns:
- the input message