业务场景:
由于需要使用拦截器做api的token验证,想着添加一个自定义的拦截器去做这个验证。
解决思路:
百度了一堆添加拦截器的方法试了下结果都是无效或者是过期方法,于是参考springboot官方文档点击打开链接有关于这块的说明:
意思就是所需要定义一个配置类去实现WebMvcConfigurer类,重写addInterceptors()方法,添加自定义的拦截器即可。
代码:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private AuthorizationInterceptor authorizationInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(authorizationInterceptor).addPathPatterns("/api/**").excludePathPatterns("/api/getToken","/success"); } }说明:
addPathPatterns:需要拦截的访问路径
excludePathPatterns:不需要拦截的路径,String数组类型可以写多个用","分割