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

      

  • 相关阅读:
    用户场景描述
    NABCD需求分析
    课堂测试返回最大子数组2
    单元测试课堂练习
    正式版
    第二次冲刺团队进展报告七
    第二次冲刺团队进展报告六
    第二次冲刺团队进展报告五
    第二次冲刺团队进展报告四
    第二次冲刺团队进展报告三
  • 原文地址:https://www.cnblogs.com/irobotzz/p/14177153.html
Copyright © 2011-2022 走看看