Interface ResponseBodyAdvice<T>
- Type Parameters:
-
T
- the body type
- All Known Implementing Classes:
-
AbstractMappingJacksonResponseBodyAdvice
,JsonViewResponseBodyAdvice
public interface ResponseBodyAdvice<T>
Allows customizing the response after the execution of an
@ResponseBody
or a ResponseEntity
controller method but before the body is written with an HttpMessageConverter
.
Implementations may be registered directly with RequestMappingHandlerAdapter
and ExceptionHandlerExceptionResolver
or more likely annotated with @ControllerAdvice
in which case they will be auto-detected by both.
- Since:
- 4.1
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionbeforeBodyWrite
(T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) Invoked after anHttpMessageConverter
is selected and just before its write method is invoked.boolean
supports
(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Whether this component supports the given controller method return type and the selectedHttpMessageConverter
type.
-
Method Details
-
supports
boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) Whether this component supports the given controller method return type and the selectedHttpMessageConverter
type.- Parameters:
-
returnType
- the return type -
converterType
- the selected converter type - Returns:
-
true
ifbeforeBodyWrite(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
-
beforeBodyWrite
@Nullable T beforeBodyWrite(@Nullable T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) Invoked after anHttpMessageConverter
is selected and just before its write method is invoked.- Parameters:
-
body
- the body to be written -
returnType
- the return type of the controller method -
selectedContentType
- the content type selected through content negotiation -
selectedConverterType
- the converter type selected to write to the response -
request
- the current request -
response
- the current response - Returns:
- the body that was passed in or a modified (possibly new) instance
-