public abstract class AbstractMessageConverterMethodProcessor extends AbstractMessageConverterMethodArgumentResolver implements HandlerMethodReturnValueHandler
AbstractMessageConverterMethodArgumentResolver
with the ability to handle
method return values by writing to the response with HttpMessageConverter
s.allSupportedMediaTypes, logger, messageConverters
Modifier | Constructor and Description |
---|---|
protected |
AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters) |
protected |
AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters,
ContentNegotiationManager contentNegotiationManager) |
protected |
AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters,
ContentNegotiationManager manager,
List<Object> requestResponseBodyAdvice) |
Modifier and Type | Method and Description |
---|---|
protected ServletServerHttpResponse |
createOutputMessage(NativeWebRequest webRequest)
Creates a new
HttpOutputMessage from the given NativeWebRequest . |
protected List<MediaType> |
getProducibleMediaTypes(HttpServletRequest request,
Class<?> returnValueClass) |
protected List<MediaType> |
getProducibleMediaTypes(HttpServletRequest request,
Class<?> returnValueClass,
Type returnValueType)
Returns the media types that can be produced:
The producible media types specified in the request mappings, or
Media types of configured converters that can write the specific return value, or
MediaType.ALL
|
protected Class<?> |
getReturnValueType(Object returnValue,
MethodParameter returnType)
Return the type of the value to be written to the response.
|
protected <T> void |
writeWithMessageConverters(T returnValue,
MethodParameter returnType,
NativeWebRequest webRequest)
Writes the given return value to the given web request.
|
protected <T> void |
writeWithMessageConverters(T returnValue,
MethodParameter returnType,
ServletServerHttpRequest inputMessage,
ServletServerHttpResponse outputMessage)
Writes the given return type to the given output message.
|
createInputMessage, getAdvice, isBindExceptionRequired, readWithMessageConverters, readWithMessageConverters, validateIfApplicable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleReturnValue, supportsReturnType
resolveArgument, supportsParameter
protected AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters)
protected AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager contentNegotiationManager)
protected AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager, List<Object> requestResponseBodyAdvice)
protected ServletServerHttpResponse createOutputMessage(NativeWebRequest webRequest)
HttpOutputMessage
from the given NativeWebRequest
.webRequest
- the web request to create an output message fromprotected <T> void writeWithMessageConverters(T returnValue, MethodParameter returnType, NativeWebRequest webRequest) throws IOException, HttpMediaTypeNotAcceptableException, HttpMessageNotWritableException
writeWithMessageConverters(Object, MethodParameter, ServletServerHttpRequest, ServletServerHttpResponse)
protected <T> void writeWithMessageConverters(T returnValue, MethodParameter returnType, ServletServerHttpRequest inputMessage, ServletServerHttpResponse outputMessage) throws IOException, HttpMediaTypeNotAcceptableException, HttpMessageNotWritableException
returnValue
- the value to write to the output messagereturnType
- the type of the valueinputMessage
- the input messages. Used to inspect the Accept
header.outputMessage
- the output message to write toIOException
- thrown in case of I/O errorsHttpMediaTypeNotAcceptableException
- thrown when the conditions indicated by Accept
header on
the request cannot be met by the message convertersHttpMessageNotWritableException
protected Class<?> getReturnValueType(Object returnValue, MethodParameter returnType)
ResponseEntity<T>
).protected List<MediaType> getProducibleMediaTypes(HttpServletRequest request, Class<?> returnValueClass)
protected List<MediaType> getProducibleMediaTypes(HttpServletRequest request, Class<?> returnValueClass, Type returnValueType)
MediaType.ALL