转载自:https://blog.csdn.net/ai_xiangjuan/article/details/79837712
ResponseBodyAdvice
主要作用是响应体写出之前做一些处理。
@Order(1)
@ControllerAdvice(basePackages = "com.github")
public class MyResponseBodyAdvice implements ResponseBodyAdvice<Object> {
@Override
public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> converterType) {
return methodParameter.getMethod().getReturnType().isAssignableFrom(User.class);
}
@Override
public Object beforeBodyWrite(
Object obj, MethodParameter methodParameter, MediaType mediaType,
Class<? extends HttpMessageConverter<?>> converterType,
ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
User user = ((User)obj);
user.setName("---" + user.getName() + "---");
return user;
}
}
RequestBodyAdvice
请求增强。在读取请求body之前或者在body转换成对象之前可以做相应的增强。