今天做 spring boot 加入拦截器后swagger不能访问问题
未加入拦截器时,swagger可以正常访问接口信息,但是加入拦截器之后swagger就不能访问了
原因分析
不能访问的原因的swagger的内置接口被拦截器拦下来了
拦截器放开看访问的接口 http://127.0.0.1:9952/doc.html
然后需要在拦截器中把api-docs放开,网上找的资料中大部分只说添加这个
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/user/login")
.excludePathPatterns("doc.html","/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**");
}
然而还要添加
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("doc.html","/v2/api-docs/","/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
}