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

Spring Boot 3.4.4中WebFlux+Netty环境下集成Swagger时/api-docs访问报错的问题求助

Spring Boot 3.4.4中WebFlux+Netty环境下集成Swagger时/api-docs访问报错的问题求助

老哥,我一眼就看到你问题的症结所在了——依赖冲突+版本不兼容,这在Spring Boot 3.x集成Swagger的时候特别容易踩坑,我来给你一步步捋清楚怎么解决:

核心问题分析

你现在的pom.xml里同时混了两个Swagger集成框架:Springfox 3.0.0和Springdoc 2.8.9,而且这俩版本和你的Spring Boot 3.4.4完全不搭:

  1. Springfox 3.0.0已经停止维护4年了,它只支持到Spring Boot 2.x,根本兼容不了基于Spring 6、Java 17的Spring Boot 3.x。
  2. 报错的NoSuchMethodError就是依赖冲突导致的:Springfox带进来的旧版swagger-core没有OpenAPI(SpecVersion)这个构造方法,但Springdoc需要的新版swagger-core是有这个方法的,两个版本打架直接触发了错误。

一步到位的解决步骤

1. 彻底清理冲突依赖

把pom.xml里所有io.springfox开头的依赖全部删掉,包括:

  • springfox-boot-starter
  • springfox-swagger2
  • springfox-swagger-ui

这些旧依赖不仅没用,还会拖垮整个依赖环境。

2. 修正依赖配置

保留WebFlux核心依赖,只留适配Spring Boot 3.x的Springdoc依赖就行,这里给你整理好的pom片段:

<!-- WebFlux核心依赖,默认用Netty作为服务器,正好符合你的需求 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

<!-- Springdoc WebFlux UI,完美适配Spring Boot 3.x和WebFlux -->
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
    <version>2.8.9</version> <!-- 和你的Spring Boot 3.4.4完全兼容 -->
</dependency>

注意:不需要再单独引spring-boot-starter-web了,spring-boot-starter-webflux已经包含了所有必要的Web层依赖,而且自动排除了Tomcat,默认用Netty。

3. 调整配置文件(可选但推荐)

你的application.properties基础配置没问题,可以补充几个常用配置让Swagger更好用:

# 启用API文档JSON接口
springdoc.api-docs.enabled=true
# API文档JSON的访问路径
springdoc.api-docs.path=/api-docs
# Swagger UI的访问路径
springdoc.swagger-ui.path=/swagger-ui.html
# 设置默认API分组,匹配所有接口
springdoc.group-configs[0].group=default
springdoc.group-configs[0].paths-to-match=/**

4. 启动验证

启动应用后,先访问http://localhost:8080/api-docs,应该能正常返回标准的OpenAPI JSON结构;然后访问http://localhost:8080/swagger-ui.html,就能看到熟悉的Swagger UI界面,还能直接测试你的WebFlux接口。

额外小提醒

  • 以后写Swagger注解的时候,要用io.swagger.v3.oas.annotations包下的注解(比如@Operation、@Parameter),别再用Springfox旧版的io.swagger.annotations了。
  • 确保你的Java版本是17及以上,Spring Boot 3.4.4对Java版本有硬性要求哦。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 09:59:52