SpringBoot 3集成Swagger 3出现白标错误页面的解决求助
解决Spring Boot 3集成Swagger白标错误的方案
核心问题
你pom.xml里同时引入了SpringFox和SpringDoc两个Swagger实现,但Spring Boot 3不兼容SpringFox(SpringFox 3.0.0仅支持Spring Boot 2.x),两者冲突导致UI无法加载;另外你用的springdoc-openapi-starter-webmvc-api只有API核心逻辑,没有包含Swagger UI的静态资源,这也是白标错误的直接原因之一。
具体修复步骤
1. 清理冲突依赖,替换为正确的SpringDoc依赖
删除pom中的springfox-boot-starter依赖,同时把springdoc-openapi-starter-webmvc-api替换成包含UI组件的版本:
<!-- 移除冲突的SpringFox依赖 --> <!-- <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> --> <!-- 替换为带UI的SpringDoc依赖 --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.1.0</version> </dependency>
2. 简化启动类
不需要额外添加@EnableWebMvc或@ComponentScan(basePackages = {"org.springdoc"}),@SpringBootApplication已经包含了自动配置和组件扫描逻辑,你的启动类保持原样即可:
package coding.userDataBase; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class UserDataBaseApplication { public static void main(String[] args) { SpringApplication.run(UserDataBaseApplication.class, args); } }
3. 访问正确的Swagger UI路径
重启项目后,访问以下任意路径即可正常打开Swagger UI:http://localhost:8080/swagger-ui.html
或者http://localhost:8080/swagger-ui/index.html
4. 可选:自定义Swagger文档配置(按需添加)
如果需要自定义文档标题、版本、描述等信息,可以添加一个配置类:
package coding.userDataBase.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class OpenApiConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() .info(new Info() .title("用户数据库API") .version("1.0") .description("基于Spring Boot 3的用户管理API文档")); } }
内容的提问来源于stack exchange,提问作者Hakan
相关产品推荐
相关产品推荐

