swagger springboot 2.7 无法使用swagger
时间: 2025-01-17 13:03:32 浏览: 53
### 解决方案
对于 Spring Boot 2.7 版本中 Swagger 无法正常使用的问题,主要原因是由于版本兼容性问题以及某些类或方法被弃用所引起的异常。以下是具体的解决方案:
#### 1. 使用正确的依赖包
为了确保与 Spring Boot 2.7 的良好兼容性,应该使用 `springfox-boot-starter` 而不是旧版的 `springfox-swagger2` 和 `springfox-swagger-ui`。
```xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
```
此依赖会自动引入必要的组件来支持 OpenAPI 文档生成功能[^2]。
#### 2. 配置属性控制开关
可以在项目的 `application.properties` 或者 `application.yml` 文件里设置如下参数以启用/禁用 Swagger UI 接口文档页面:
```properties
# application.properties example
springdoc.api-docs.enabled=true
springdoc.swagger-ui.enabled=true
```
这些配置项允许动态调整 API 文档服务的状态而无需修改代码逻辑[^3]。
#### 3. 处理潜在错误
如果遇到类似于 “Failed to start bean ‘documentationPluginsBootstrapper’” 这样的警告信息,则可能是由于项目中的路径匹配条件为空所致。可以通过自定义 Docket Bean 来规避此类问题的发生。
```java
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.paths(PathSelectors.any())
.build();
}
}
```
上述代码片段展示了如何创建并注册一个名为 `api()` 的 Docket 实例,它指定了要扫描哪些 URL 路径下的接口作为 API 描述的一部分[^4]。
通过以上措施可以有效解决 Spring Boot 2.7 上部署 Swagger 所面临的常见难题,并顺利访问位于 http://localhost:8080/swagger-ui.html 的在线交互式 API 文档界面[^1]。
阅读全文
相关推荐


















