配置了后端拦截器 swagger不能测接口
时间: 2023-10-06 14:06:02 浏览: 280
Spring Boot 整合Mybatis、Druid、PageHelper、Swagger 、AOP、过滤器、拦截器、thymeleaf 基础入门demo
如果您的后端应用程序配置了拦截器(Interceptor),并且您无法访问 Swagger UI 来测试 API 接口,那么这可能是因为拦截器阻止了 Swagger 的请求。这种情况下,您需要检查拦截器是否正确配置。您可以尝试在拦截器中排除 Swagger 的请求,使其可以正常访问 API。具体来说,您可以检查拦截器中的 `preHandle` 方法,看看是否可以在该方法中通过判断请求的 URL 是否为 Swagger 请求来排除 Swagger 的请求。如果您使用的是 Spring Boot 框架,可以使用 `WebMvcConfigurer` 的 `addInterceptors` 方法来添加拦截器,并在其中排除 Swagger 请求。例如:
```
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private MyInterceptor myInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor)
.excludePathPatterns("/swagger-ui.html", "/swagger-resources/**", "/v2/api-docs");
}
}
```
在上面的代码中,我们创建了一个 `WebMvcConfigurer` 的实现类 `WebMvcConfig`,并在其中添加了一个名为 `myInterceptor` 的拦截器。在 `addInterceptors` 方法中,我们使用 `excludePathPatterns` 方法来排除 Swagger 的请求,这样就可以让 Swagger 正常访问 API 接口了。
阅读全文