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

Spring Boot 3集成springdoc-openapi-ui遇404问题求助

Spring Boot 3 集成 Swagger UI(OpenAPI 3.0)404 问题排查与解决

1. 依赖版本不匹配(核心问题)

Spring Boot 3 基于 Jakarta EE,你当前使用的 springdoc-openapi-ui:1.6.11 是适配 Spring Boot 2(基于 Java EE)的版本,两者不兼容,这是导致404的主要原因。

替换为适配 Spring Boot 3 的 springdoc v2.x 版本,Maven 依赖如下:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version>
</dependency>

2. 访问路径变更

Spring Boot 3 对应的 Swagger UI 访问路径已调整,不再是 localhost:8080/swagger-ui.html,正确的访问路径为:

  • http://localhost:8080/swagger-ui/index.html
  • 或简化路径:http://localhost:8080/swagger-ui/

3. Spring Security 拦截(若项目使用)

如果你的项目集成了 Spring Security,需要放行 Swagger 相关的静态资源和接口,否则会被拦截导致404。在 Security 配置类中添加如下规则:

@Configuration
public class SecurityConfig {
    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http.authorizeHttpRequests(auth -> auth
                // 放行swagger相关路径
                .requestMatchers("/swagger-ui/**", "/v3/api-docs/**")
                .permitAll()
                // 其他请求需认证
                .anyRequest().authenticated()
        );
        return http.build();
    }
}

4. 可选:自定义 OpenAPI 配置

如果需要自定义 API 文档的标题、描述等信息,可以添加配置类:

@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("你的API文档")
                        .version("1.0")
                        .description("API接口描述"));
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:25:22