比如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("/**");
}
}