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

Spring Boot项目添加@ApiParam后Swagger接口端点隐藏问题求助

触发原因

你遇到的是Springfox Swagger 2.9.x及更早版本的已知缺陷:
@PathVariable注解默认required = true,当你给路径参数添加带defaultValue的@ApiParam注解时,旧版本Springfox的参数解析逻辑会误判参数为非必填,和@PathVariable的必填属性产生冲突,触发参数元数据解析异常,因此启动时会跳过该接口的加载,也就不会在Swagger UI页面展示,对应日志里的Skipping process path报错就是这个逻辑抛出的。
额外说明:路径参数的默认值实际没有业务意义,因为请求必须在URL路径中传入对应参数才能匹配到接口,@ApiParam的defaultValue仅会在Swagger UI的参数输入框默认填充,不会被Spring MVC实际使用。

解决方案

你可以根据自己的需求任选一种方案修复:

  • 方案1(最便捷):给@ApiParam显式添加required = true属性,和@PathVariable的必填属性保持一致,即可解决冲突,修改后的参数代码如下:
@ApiParam(defaultValue = "12345", required = true) @PathVariable @NotNull String userId
  • 方案2:升级Springfox Swagger版本到2.10.0及以上,该版本已经修复了这个参数解析冲突的bug。
  • 方案3:如果不需要Swagger UI默认填充参数值,可以直接删除@ApiParam的defaultValue配置,接口即可恢复正常展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:15:03