• 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();
        }
    
    }
    

      

  • 相关阅读:
    使用PhantomJS报warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '解决方法
    案例:执行 JavaScript 语句
    案例:网站模拟登录
    爬虫中Selenium和PhantomJS
    爬虫中采集动态HTML介绍
    Oracle系列十五 控制用户权限
    Oracle系列十四 序列、索引和同义词
    Oracle系列十三 视图
    多线程爬虫案例
    CentOS7静默安装Oracle 18g数据库(无图形化界面)
  • 原文地址:https://www.cnblogs.com/irobotzz/p/14177153.html
Copyright © 2020-2023  润新知