实现ResponseBodyAdvice后需要放行
@ControllerAdvice
public class MyResponseBodyAdvice implements ResponseBodyAdvice<Object> {
/**
* @param methodParameter :handler接口参数。
* @param aClass:handler接口所在的控制器类 返回值:true:放行ResponseBodyAdvice增强处理,否则不执行。
* supports —— 判断是否要执行beforeBodyWrite方法,true为执行,false不执行 ——
* 通过supports方法,我们可以选择哪些类或哪些方法要对response进行处理,其余的则不处理
*/
@Override
public boolean supports(MethodParameter methodParameter, Class aClass) {
//如果是swagger就放行,不执行beforeBodyWrite
boolean springfox = methodParameter.getDeclaringClass().getName().contains("springfox");
return !springfox;
}
}