public interface ResponseBodyAdvice<T>
@ResponseBody
or an ResponseEntity controller method but before the body is written
with an HttpMessageConverter.
Implementations may be may be registered directly with
RequestMappingHandlerAdapter and ExceptionHandlerExceptionResolver
or more likely annotated with @ControllerAdvice in which case they
will be auto-detected by both.
| Modifier and Type | Method and Description |
|---|---|
T |
beforeBodyWrite(T body,
MethodParameter returnType,
MediaType selectedContentType,
Class<? extends HttpMessageConverter<?>> selectedConverterType,
ServerHttpRequest request,
ServerHttpResponse response)
Invoked after an
HttpMessageConverter 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 selected
HttpMessageConverter type. |
boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType)
HttpMessageConverter type.returnType - the return typeconverterType - the selected converter typetrue if 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 otherwiseT beforeBodyWrite(T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response)
HttpMessageConverter is selected and just before
its write method is invoked.body - the body to be writtenreturnType - the return type of the controller methodselectedContentType - the content type selected through content negotiationselectedConverterType - the converter type selected to write to the responserequest - the current requestresponse - the current response