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

      

  • 相关阅读:
    恶意代码检测--已看梳理
    tips
    十大排序
    python使用记录
    Matlab用figure;subplot后合并子图
    利用python的docx模块处理word和WPS的docx格式文件
    论文笔记(FCN网络,语义分割):Fully Convolutional Networks for Semantic Segmentation
    论文笔记:SoundNet: Learning Sound Representations from Unlabeled Video
    Winner-Take-All Autoencoders ( 赢者通吃自编码器)
    机器学习优化过程中的各种梯度下降方法(SGD,AdaGrad,RMSprop,AdaDelta,Adam,Momentum,Nesterov)
  • 原文地址:https://www.cnblogs.com/irobotzz/p/14177153.html
Copyright © 2011-2022 走看看