导航
导航

接口改造

改造需要后端接口统一数据返回而且要求新版本以后的接口返回值要加密,并且要兼容以前老版本的接口(就是老版本接口不加密)

制定两套方案 一种拦截器 另一种ResponseBodyAdvice(最终使用)

为什么不使用拦截器?带@RestController的类和带@ResponseBody的方法在被调用后response会直接写入输出流,在postHandle和afterCompletion这两个方法执行之前就已经把数据返回,导致这两个方法里面的response根本获取不到响应数据。 而ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体。

ResponseBodyAdvice接口是在Controller执行return之后,在response返回给浏览器或者APP客户端之前,执行的对response的一些处理。可以实现对response数据的一些统一封装或者加密等操作。