美文网首页
spring boot对响应数据进行封装、改变响应头

spring boot对响应数据进行封装、改变响应头

作者: yummy觉一 | 来源:发表于2020-06-19 14:09 被阅读0次

    背景

    在项目中需求,对所有的请求进行拦截进行统一处理。优先想到的是使用spring boot的拦截器。但经实践发现,spring boot的拦截器只能在preHandle设置响应头,而在postHandle中没法改变响应头,也就无法实现按处理结果来设置响应头的目的,经查询资料,了解到拦截器无法设置带有@RequestBody注解的controller中的响应数据。具体细节有待深入研究。

    之后的解决方法

    扩展了ResponseBodyAdvice接口,并用@ControllerAdvice进行注解。最终实现了达到了封装响应数据、修改响应头的目的。代码如下:

    @ControllerAdvice
    public TestAdvice implements ResponseBodyAdvice<Object> {
        @Override
        public boolean supports(参数省略) {
            return true;
         }
         @Override
          public Object beforeBodyWrite(参数省略) {
              //这里面进行修改body、或者response header
          }
    }
    

    细节没写,仅做记录,以后用到时可查。

    相关文章

      网友评论

          本文标题:spring boot对响应数据进行封装、改变响应头

          本文链接:https://www.haomeiwen.com/subject/ssmvxktx.html