背景:小程序项目改造需要后端接口统一数据返回 原来的封装数据返回格式不适合需要改造 一个个改接口肯定不行的。后来制定两套方案 一种拦截器 另一种
ResponseBodyAdvice 后来选择了ResponseBodyAdvice
为什么不使用拦截器?带@RestController的类和带@ResponseBody的方法在被调用后response会直接写入输出流,
在postHandle和afterCompletion这两个方法执行之前就已经把数据返回,导致这两个方法里面的response根本获取不到响应数据。
而ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体
ResponseBodyAdvice可以在注解@ResponseBody将返回值处理成相应格式之前操作返回值。实现这个接口即可完成相应操作
ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体
原文:https://www.cnblogs.com/ysg520/p/13284299.html