Spring Boot 3.0.0与Springdoc兼容问题:访问Swagger资源报404求助
Spring Boot 3.0.0 下 Springdoc OpenAPI 404 问题解决方法
问题出在Spring Boot 3.x 和旧版 Springdoc 的兼容性上:Spring Boot 3 全面切换到了 Jakarta EE API(替代了之前的 Java EE),而你用的 springdoc-openapi-ui:1.6.13 是基于 Java EE 构建的,和 Spring Boot 3 完全不兼容,因此出现404错误。
解决步骤如下:
- 升级 Springdoc 依赖版本
将 pom 中的 Springdoc 依赖替换为适配 Spring Boot 3 的 2.x 系列版本(撰写本文时最新稳定版为2.2.0):<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>2.2.0</version> </dependency> - 适配新的访问路径
Springdoc 2.x 适配 Spring Boot 3 后,Swagger UI 的访问路径有小改动:- 原路径
http://localhost:8080/swagger-ui.html→ 新路径:http://localhost:8080/swagger-ui/index.html /v3/api-docs路径保持不变,可正常访问
- 原路径
更新依赖后重启应用,就能正常获取OpenAPI资源了。
如果你的项目有自定义的 OpenAPI 配置类,需注意 Springdoc 2.x 的部分API有调整(极简项目一般无需额外修改)。
内容的提问来源于stack exchange,提问作者Stan Ostrovskii
相关产品推荐
相关产品推荐

