springboot注册自定义拦截器 雨点打透心脏的1/2处 2022-03-02 13:58 252阅读 0赞 参考:[https://blog.csdn.net/qq\_38762237/article/details/81235538][https_blog.csdn.net_qq_38762237_article_details_81235538] spring2X\* 拦截器实现 HandlerInterceptor接口,下面是我自定义的接口 public class RequestFilter implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String appCode; //情况1 包含accessToken,解析出appCode,优先级高 String accessTokenStr = request.getParameter("accessToken"); appCode = this.decryptAppCode(accessTokenStr); if (StringUtils.isEmpty(appCode)) { //在accessToken中未获取导appCode,采用情况2 从请求头中获取 String client = request.getHeader("client"); appCode = StringUtils.acquireAppCode(client); } //存入共享线程变量中 ShareThread.threadLocal.set(appCode); return true; } } 第二步 注册自定义拦截器 创建注册类------实现WebMvcConfig接口----------重写addInterceptors方法,我的代码如下 /** * 注册拦截器 * * @author qiaofeng */ @Configuration public class RegisterInterceptor implements WebMvcConfigurer { @Bean public RequestFilter requestFilterBean(){ return new RequestFilter(); } //注册request请求拦截器 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new RequestFilter()).addPathPatterns("/**"); } } 注意 registry.addInterceptor(new RequestFilter()).addPathPatterns("/**"); 后面的/**表示所有请求都拦截 [https_blog.csdn.net_qq_38762237_article_details_81235538]: https://blog.csdn.net/qq_38762237/article/details/81235538
还没有评论,来说两句吧...