拦截器ResponseBodyAdvice
supports方法:指定是否进行拦截
beforeBodyWrite方法:执行真正的拦截逻辑
@ControllerAdvice
public class RedirectControllerAdvice implements ResponseBodyAdvice<Object> {
@Override
public boolean supports(MethodParameter returnType, Class converterType) {
// 判断是否需要拦截
return true;
}
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType,
MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request,
ServerHttpResponse response) {
// 处理逻辑,可修改状态码
response.setStatusCode(HttpStatus.ACCEPTED);
return body;
}
}
参考文档
https://juejin.cn/post/7067062595844309000