zoukankan      html  css  js  c++  java
  • springboot 拦截器

    1、编写拦截器

      

    package com.ne.scrm.org.interceptor;
    
    
    import com.software.boot.common.ThreadContext;
    import org.springframework.web.servlet.HandlerInterceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import static com.ne.scrm.org.api.consts.MyConstants.DEALER_ID;
    import static com.ne.scrm.org.api.consts.MyConstants.EMP_ID;
    
    /**
     * @author Yunugi
     * @since 2020-12-21
     */
    public class CommonDataHandlerInterceptor implements HandlerInterceptor {
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
            ThreadContext.put(EMP_ID, request.getHeader(EMP_ID));
            ThreadContext.put(DEALER_ID, request.getHeader(DEALER_ID));
            return true;
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
            ThreadContext.remove(EMP_ID);
            ThreadContext.remove(DEALER_ID);
        }
    }
    

      

    2、注册

      

    package com.ne.scrm.org.config;
    
    
    import com.ne.scrm.org.interceptor.CommonDataHandlerInterceptor;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.bind.WebDataBinder;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.InitBinder;
    import org.springframework.web.context.request.WebRequest;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    import java.net.URLDecoder;
    
    
    /**
     * Make use of MVC pattern to process args.
     * Called before calling HandlerAdapter.
     *
     * @author Yungui
     * @since 20201221
     */
    @Configuration
    @Slf4j
    public class WebMvcConfig implements WebMvcConfigurer {
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(headerDataInterceptor()).addPathPatterns("/**");
        }
    
        @Bean
        public CommonDataHandlerInterceptor headerDataInterceptor() {
            return new CommonDataHandlerInterceptor();
        }
    
    }
    

      

  • 相关阅读:
    Java SE 基础之接口回顾
    读书杂谈-《架构探险:从零开始写Java Web框架》
    Java Se之类加载问题思考
    struts2 下载记录
    《重构改善既有代码的设计》笔记之序
    Luence简单实现2
    RabbitMQ学习(1):安装
    jquery插件dataTables添加序号列
    父<IFRAME>获取子页属性以及子页中<IFRAME>的方法
    类的约束 异常处理 自定义异常 MD5 日志信息处理
  • 原文地址:https://www.cnblogs.com/irobotzz/p/14177153.html
Copyright © 2011-2022 走看看