关于#SpringBoot#的问题,如何解决?

我有这样的一个需求,在SpringBoot项目中加一个拦截器,在拦截器中获得HttpServletResponse对象中的响应数据。现在不知道如何从HttpServletResponse对象中获取响应数据?

比如HttpServletResponse响应数据中包含关键字 ,现在我想获得响应数据,然后替换掉关键字。

用aop切面去做拦截,里面有各种方法可以去处理数据;包括拦截前处理、拦截中处理以及拦截后处理

拦截器:


public class CustomInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {

        HttpServletResponse httpResponse = (HttpServletResponse) response;
        
    
        String responseData = httpResponse.getWriter().toString();
        
     

      
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {
      
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
            throws Exception {

    }

}

写好拦截器注册到springBoot:

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(new CustomInterceptor()).addPathPatterns("/**");
    }

}