springboot2.0中添加自定义拦截器

时间:2021-03-16 23:20:16

业务场景:

    由于需要使用拦截器做api的token验证,想着添加一个自定义的拦截器去做这个验证。

解决思路:

   百度了一堆添加拦截器的方法试了下结果都是无效或者是过期方法,于是参考springboot官方文档点击打开链接有关于这块的说明:

springboot2.0中添加自定义拦截器

    意思就是所需要定义一个配置类去实现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数组类型可以写多个用","分割