Class JsonViewRequestBodyAdvice
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter
org.springframework.web.servlet.mvc.method.annotation.JsonViewRequestBodyAdvice
- All Implemented Interfaces:
- RequestBodyAdvice
A 
RequestBodyAdvice implementation that adds support for Jackson's
@JsonView annotation declared on a Spring MVC @HttpEntity
or @RequestBody method parameter.
The deserialization view specified in the annotation will be passed in to the
MappingJackson2HttpMessageConverter
which will then use it to deserialize the request body with.
Note that despite @JsonView allowing for more than one class to
be specified, the use for a request body advice is only supported with
exactly one class argument. Consider the use of a composite interface.
- Since:
- 4.2
- Author:
- Sebastien Deleuze
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbeforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> selectedConverterType) The default implementation returns the InputMessage that was passed in.determineReadHints(MethodParameter parameter, Type targetType, Class<? extends SmartHttpMessageConverter<?>> converterType) Invoked to determine read hints if the converter is aSmartHttpMessageConverter.booleansupports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) Invoked first to determine if this interceptor applies.Methods inherited from class RequestBodyAdviceAdapterafterBodyRead, handleEmptyBody
- 
Constructor Details- 
JsonViewRequestBodyAdvicepublic JsonViewRequestBodyAdvice()
 
- 
- 
Method Details- 
supportspublic boolean supports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) Description copied from interface:RequestBodyAdviceInvoked first to determine if this interceptor applies.- Parameters:
- methodParameter- the method parameter
- targetType- the target type, not necessarily the same as the method parameter type, for example, for- HttpEntity<String>.
- converterType- the selected converter type
- Returns:
- whether this interceptor should be invoked or not
 
- 
beforeBodyReadpublic HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> selectedConverterType) throws IOException Description copied from class:RequestBodyAdviceAdapterThe default implementation returns the InputMessage that was passed in.- Specified by:
- beforeBodyReadin interface- RequestBodyAdvice
- Overrides:
- beforeBodyReadin class- RequestBodyAdviceAdapter
- Parameters:
- inputMessage- the request
- methodParameter- the target method parameter
- targetType- the target type, not necessarily the same as the method parameter type, for example, for- HttpEntity<String>.
- selectedConverterType- the converter used to deserialize the body
- Returns:
- the input request or a new instance (never null)
- Throws:
- IOException
 
- 
determineReadHintspublic @Nullable Map<String,Object> determineReadHints(MethodParameter parameter, Type targetType, Class<? extends SmartHttpMessageConverter<?>> converterType) Description copied from interface:RequestBodyAdviceInvoked to determine read hints if the converter is aSmartHttpMessageConverter.- Parameters:
- parameter- the target method parameter
- targetType- the target type, not necessarily the same as the method parameter type, for example, for- HttpEntity<String>.
- converterType- the selected converter type
- Returns:
- the hints determined otherwise null
 
 
-