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

使用swag init生成swagger.json时paths为空,求排查原因

为什么swagger.json的paths为空?问题出在这几点

1. 接口注释格式不符合解析要求

你给GetAlbums函数加的注释里混入了godoc标识,这会干扰swag的注解解析逻辑——swag只会识别// @xxx开头的标签内容,多余的godoc会让整个接口注解被忽略。

修正后的注释示例:

// GetAlbums
// @Summary  获取专辑列表
// @Produce  json
// @Router   /albums [get]
func GetAlbums(c *gin.Context) {
    <some code>
}

另外你@Summary里写的“Retrieves user based on given ID”和接口功能不符,虽然不影响生成,但建议改成对应描述,避免文档混乱。

2. 检查swag init的执行路径

必须在项目根目录下执行swag init命令,否则swag无法扫描到main包中的GetAlbums函数,自然生成不了paths内容。

3. 升级swag版本排除兼容性问题

如果使用的是旧版swag,可能存在对Gin框架注解支持的bug,执行以下命令升级到最新版:

go install github.com/swaggo/swag/cmd/swag@latest

调整完以上几点后,重新执行swag init,生成的swagger.json的paths字段就会包含/albums的GET接口定义了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:10:23