You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Swagger-ui遇404及Bean创建失败问题求助

解决Swagger-ui.html 404及Bean创建错误问题

1. 清理依赖冲突,选准适配的Swagger实现

你同时混用了SpringDoc和SpringFox的依赖,二者是不同的Swagger实现,必然会引发冲突。建议二选一,优先使用SpringDoc(对新版本Spring Boot兼容性更好)。删除所有SpringFox相关依赖,只保留匹配你Spring Boot版本的SpringDoc依赖:

  • 若使用Spring Boot 3.x,用以下依赖:
<dependency>
   <groupId>org.springdoc</groupId>
   <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
   <version>2.0.0-M4</version>
</dependency>
  • 若使用Spring Boot 2.x,替换为:
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.6.15</version>
</dependency>

2. 移除错误注解

不要在主控制器类添加@EnableMvc和@Configuration!Spring Boot已默认完成Web MVC的自动配置,手动添加@EnableMvc会覆盖默认配置,直接导致DelegatingWebMvcConfiguration Bean的依赖注入错误,删掉这两个注解即可。

3. 注意访问路径差异

SpringDoc的默认访问路径和旧版SpringFox不同:

  • Spring Boot 3.x + SpringDoc 2.x:访问 http://localhost:你的端口号/swagger-ui/index.html
  • Spring Boot 2.x + SpringDoc 1.x:访问 http://localhost:你的端口号/swagger-ui.html

4. 可选:添加基础配置确保API被扫描

如果仍无法访问,单独创建一个配置类,指定要扫描的API路径:

import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenApiConfig {
    @Bean
    public GroupedOpenApi publicApi() {
        return GroupedOpenApi.builder()
                .group("public-api")
                .pathsToMatch("/**")
                .build();
    }
}

该配置类需单独存放,不要与主控制器类混写。

5. 检查自动配置是否被禁用

查看application.properties或application.yml中是否存在禁用SpringDoc自动配置的内容,比如:

spring.autoconfigure.exclude=org.springdoc.core.SpringDocConfiguration

若有则删除该配置项。


内容的提问来源于stack exchange,提问作者codelife

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:35:26