Class AbstractMappingJacksonResponseBodyAdvice
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice
- All Implemented Interfaces:
ResponseBodyAdvice<Object>
- Direct Known Subclasses:
JsonViewResponseBodyAdvice
public abstract class AbstractMappingJacksonResponseBodyAdvice
extends Object
implements ResponseBodyAdvice<Object>
A convenient base class for
ResponseBodyAdvice implementations
that customize the response before JSON serialization with
AbstractJackson2HttpMessageConverter's concrete subclasses.- Since:
- 4.1
- Author:
- Rossen Stoyanchev, Sebastien Deleuze
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal ObjectbeforeBodyWrite(Object body, MethodParameter returnType, MediaType contentType, Class<? extends HttpMessageConverter<?>> converterType, ServerHttpRequest request, ServerHttpResponse response) Invoked after anHttpMessageConverteris selected and just before its write method is invoked.protected abstract voidbeforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType, MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) Invoked only if the converter type isMappingJackson2HttpMessageConverter.protected MappingJacksonValuegetOrCreateContainer(Object body) Wrap the body in aMappingJacksonValuevalue container (for providing additional serialization instructions) or simply cast it if already wrapped.booleansupports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Whether this component supports the given controller method return type and the selectedHttpMessageConvertertype.
-
Constructor Details
-
AbstractMappingJacksonResponseBodyAdvice
public AbstractMappingJacksonResponseBodyAdvice()
-
-
Method Details
-
supports
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Description copied from interface:ResponseBodyAdviceWhether this component supports the given controller method return type and the selectedHttpMessageConvertertype.- Specified by:
supportsin interfaceResponseBodyAdvice<Object>- Parameters:
returnType- the return typeconverterType- the selected converter type- Returns:
trueifResponseBodyAdvice.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;falseotherwise
-
beforeBodyWrite
@Nullable public final Object beforeBodyWrite(@Nullable Object body, MethodParameter returnType, MediaType contentType, Class<? extends HttpMessageConverter<?>> converterType, ServerHttpRequest request, ServerHttpResponse response) Description copied from interface:ResponseBodyAdviceInvoked after anHttpMessageConverteris selected and just before its write method is invoked.- Specified by:
beforeBodyWritein interfaceResponseBodyAdvice<Object>- Parameters:
body- the body to be writtenreturnType- the return type of the controller methodcontentType- the content type selected through content negotiationconverterType- the converter type selected to write to the responserequest- the current requestresponse- the current response- Returns:
- the body that was passed in or a modified (possibly new) instance
-
getOrCreateContainer
Wrap the body in aMappingJacksonValuevalue container (for providing additional serialization instructions) or simply cast it if already wrapped. -
beforeBodyWriteInternal
protected abstract void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType, MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) Invoked only if the converter type isMappingJackson2HttpMessageConverter.
-