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

      

  • 相关阅读:
    04.日志管理
    刷爆美国朋友圈的超燃短片:年轻人为什么要奋斗?
    【逗比作孽呀】网站缓存优化
    来看看这20个顶尖的开源项目!
    nginx处理问题笔记
    -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
    一个创业公司倒下的128小时
    快速打造跨平台开发环境 vagrant + virtualbox + box
    【Git 使用笔记】第四部分:git在公司中的开发流程
    新购买的vps应该做的几件事情
  • 原文地址:https://www.cnblogs.com/irobotzz/p/14177153.html
Copyright © 2011-2022 走看看