public interface RequestBodyAdvice
@RequestBody or an
HttpEntity method argument.
Implementations of this contract may be registered directly with the
RequestMappingHandlerAdapter or more likely annotated with
@ControllerAdvice in which case they are auto-detected.
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
afterBodyRead(java.lang.Object body,
HttpInputMessage inputMessage,
MethodParameter parameter,
java.lang.reflect.Type targetType,
java.lang.Class<? extends HttpMessageConverter<?>> converterType)
Invoked third (and last) after the request body is converted to an Object.
|
HttpInputMessage |
beforeBodyRead(HttpInputMessage inputMessage,
MethodParameter parameter,
java.lang.reflect.Type targetType,
java.lang.Class<? extends HttpMessageConverter<?>> converterType)
Invoked second before the request body is read and converted.
|
java.lang.Object |
handleEmptyBody(java.lang.Object body,
HttpInputMessage inputMessage,
MethodParameter parameter,
java.lang.reflect.Type targetType,
java.lang.Class<? extends HttpMessageConverter<?>> converterType)
Invoked second (and last) if the body is empty.
|
boolean |
supports(MethodParameter methodParameter,
java.lang.reflect.Type targetType,
java.lang.Class<? extends HttpMessageConverter<?>> converterType)
Invoked first to determine if this interceptor applies.
|
boolean supports(MethodParameter methodParameter, java.lang.reflect.Type targetType, java.lang.Class<? extends HttpMessageConverter<?>> converterType)
methodParameter - the method parametertargetType - the target type, not necessarily the same as the method
parameter type, e.g. for HttpEntity<String>.converterType - the selected converter typeHttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, java.lang.reflect.Type targetType, java.lang.Class<? extends HttpMessageConverter<?>> converterType) throws java.io.IOException
inputMessage - the requestparameter - the target method parametertargetType - the target type, not necessarily the same as the method
parameter type, e.g. for HttpEntity<String>.converterType - the converter used to deserialize the bodynulljava.io.IOExceptionjava.lang.Object afterBodyRead(java.lang.Object body,
HttpInputMessage inputMessage,
MethodParameter parameter,
java.lang.reflect.Type targetType,
java.lang.Class<? extends HttpMessageConverter<?>> converterType)
body - set to the converter Object before the first advice is calledinputMessage - the requestparameter - the target method parametertargetType - the target type, not necessarily the same as the method
parameter type, e.g. for HttpEntity<String>.converterType - the converter used to deserialize the body@Nullable java.lang.Object handleEmptyBody(@Nullable java.lang.Object body, HttpInputMessage inputMessage, MethodParameter parameter, java.lang.reflect.Type targetType, java.lang.Class<? extends HttpMessageConverter<?>> converterType)
body - usually set to null before the first advice is calledinputMessage - the requestparameter - the method parametertargetType - the target type, not necessarily the same as the method
parameter type, e.g. for HttpEntity<String>.converterType - the selected converter typenull which may then raise an
HttpMessageNotReadableException if the argument is required.