RequestBodyAdvice和ResponseBodyAdvice
有两个接口
RequestBodyAdvice和ResponseBodyAdvice 在spring4中新添加的两个接口
RequestBodyAdvice接口
该接口是在获取@RequestBody参数数据之前进行处理的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public interface RequestBodyAdvice {
boolean supports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType);
Object handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType);
HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType) throws IOException;
Object afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType);
}
|
ResponseBodyAdvice接口
该接口是在消息体被HttpMessageConverter消息解析器写入之前执行的
1 2 3 4 5 6 7 8 9 10 11
| public interface ResponseBodyAdvice<T> {
boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType);
T beforeBodyWrite(T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response);
}
|