Class JsonViewResponseBodyAdvice
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice
org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice
- All Implemented Interfaces:
ResponseBodyAdvice<Object>
A
ResponseBodyAdvice
implementation that adds support for Jackson's
@JsonView
annotation declared on a Spring MVC @RequestMapping
or @ExceptionHandler
method.
The serialization view specified in the annotation will be passed in to the
MappingJackson2HttpMessageConverter
which will then use it to serialize the response body.
Note that despite @JsonView
allowing for more than one class to
be specified, the use for a response body advice is only supported with
exactly one class argument. Consider the use of a composite interface.
- Since:
- 4.1
- Author:
- Rossen Stoyanchev
- See Also:
-
JsonView
ObjectMapper.writerWithView(Class)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
beforeBodyWriteInternal
(MappingJacksonValue bodyContainer, MediaType contentType, MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) Invoked only if the converter type isMappingJackson2HttpMessageConverter
.boolean
supports
(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Whether this component supports the given controller method return type and the selectedHttpMessageConverter
type.Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice
beforeBodyWrite, getOrCreateContainer
-
Constructor Details
-
JsonViewResponseBodyAdvice
public JsonViewResponseBodyAdvice()
-
-
Method Details
-
supports
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Description copied from interface:ResponseBodyAdvice
Whether this component supports the given controller method return type and the selectedHttpMessageConverter
type.- Specified by:
supports
in interfaceResponseBodyAdvice<Object>
- Overrides:
supports
in classAbstractMappingJacksonResponseBodyAdvice
- Parameters:
returnType
- the return typeconverterType
- the selected converter type- Returns:
true
ifResponseBodyAdvice.beforeBodyWrite(T, org.springframework.core.MethodParameter, org.springframework.http.MediaType, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>>, org.springframework.http.server.ServerHttpRequest, org.springframework.http.server.ServerHttpResponse)
should be invoked;false
otherwise
-
beforeBodyWriteInternal
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType, MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) Description copied from class:AbstractMappingJacksonResponseBodyAdvice
Invoked only if the converter type isMappingJackson2HttpMessageConverter
.- Specified by:
beforeBodyWriteInternal
in classAbstractMappingJacksonResponseBodyAdvice
-