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

Spring Boot 3中启用Swagger API端点遇404的问题排查

问题原因及解决方案

核心原因

Springfox 3.0.0已于2020年停止维护,完全不兼容Spring Boot 3.x版本:

  • Spring Boot 3基于Spring Framework 6,底层从Java EE迁移到Jakarta EE规范,Springfox未适配这一核心变化,导致其端点无法被Spring Boot 3正确注册,因此访问/v2/api-docs会返回404。
  • 你尝试降级Spring Boot到2.4.0时出现的Unsupported class file major version 61错误,是因为Spring Boot 2.4.x最高仅支持Java 15,而Java 17生成的类文件版本为61,旧版框架无法识别。

解决方案:改用Springdoc OpenAPI

Springdoc OpenAPI是Spring Boot 3官方推荐的API文档工具,完全兼容Jakarta EE和Java 17,替代Springfox即可解决问题。

步骤1:替换依赖

移除POM中的Springfox依赖,添加Springdoc的starter依赖:

<!-- 移除原有Springfox依赖 -->
<!-- <dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency> -->

<!-- 添加Springdoc OpenAPI依赖 -->
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version>
</dependency>

步骤2:移除无用配置

删除原有的SpringFoxConfig配置类,Springdoc默认自动启用API文档功能,无需额外配置。

步骤3:验证访问

启动应用后,访问以下端点:

  • Swagger UI界面:http://localhost:8080/swagger-ui.html
  • OpenAPI 3.0格式的API文档:http://localhost:8080/v3/api-docs

自定义配置(可选)

如果需要自定义文档信息(如标题、版本、描述),可以添加如下配置类:

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("Hello World API")
                        .version("1.0")
                        .description("Spring Boot 3 + Springdoc OpenAPI示例"));
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:07:04