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

Spring Boot Swagger自定义API信息不生效问题求助

排查Swagger自定义API信息不生效的问题

看了你的配置和问题描述,我来帮你梳理几个大概率导致自定义信息不生效的原因和解决办法:

1. 路径匹配规则写得不对

你的代码里用了 .paths(regex("/api.spacestudy.com")),这个正则表达式有问题:

  • 它只会精确匹配路径完全等于 /api.spacestudy.com 的接口,但你的实际API路径肯定不是这个格式(比如应该是 /api/xxx 这类带前缀的接口)。
  • 修正方法:改成匹配你的实际API路径前缀,比如如果所有接口都以 /api/ 开头,就改成:
    .paths(regex("/api.*"))
    
    如果想匹配所有接口,也可以直接用 PathSelectors.any()。

2. 配置类存在语法错误

在 metaData() 方法里,Contact的邮箱参数没加双引号:

Contact contact = new Contact("XYZ", "XYZ.com", XYZ@gmail.com);

这里的 XYZ@gmail.com 是字符串,必须用双引号包裹,否则会编译报错,导致整个Swagger配置类无法生效,系统只能用默认的API信息。修正后应该是:

Contact contact = new Contact("XYZ", "XYZ.com", "XYZ@gmail.com");

3. 浏览器缓存拖了后腿

Swagger UI有时候会缓存旧的API文档,哪怕你改了配置,页面还是显示旧内容。解决办法很简单:

  • 按 Ctrl+F5 强制刷新页面
  • 或者直接清除浏览器缓存后重新访问 http://localhost:8086/swagger-ui.html

4. 配置类没被Spring扫描到

检查你的Spring Boot主启动类所在的包:如果主启动类在 com.spacestudy 根包下,那 com.spacestudy.config 会被自动扫描;如果主启动类在更深的子包(比如 com.spacestudy.app),那得在主启动类上添加 @ComponentScan(basePackages = {"com.spacestudy.config", "com.spacestudy.controller"}),明确指定要扫描配置类所在的包。

5. 依赖版本兼容性问题

你用的是Springfox 2.7.0版本,这个版本比较老,如果你的Spring Boot是2.x版本,可能存在适配问题。如果上面的方法都没用,可以尝试升级到兼容性更好的2.9.2版本,修改依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
    <scope>compile</scope>
</dependency>

按照上面的步骤逐一排查,应该就能解决自定义信息不生效的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:56:08