概述
Springboot实现拦截器与过滤器的方法网上很多文章,本文主要阐述实际实现拦截器过程中踩的一下坑.
1.拦截器
1.1.创建拦截器
1.1.1 实现HandlerInterceptor
package com.qihang.springdemo.interceptor;
import com.qihang.springdemo.threadlocal.LoginInfoContext;
import com.qihang.springdemo.threadlocal.LoginThreadLocal;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("loginInterceptor start handle....");
String requestId = request.getHeader("request-id");
String callerId = request.getHeader("caller-id");
String apiName = request.getHeader("api-name");
LoginInfoContext context = LoginInfoContext.builder().requestId(requestId).