Agent Skills
返回列表
💻

Swag Go API 文档生成

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/generate-go-api-docs-from-source-annotations-with-swag

技能介绍

要解决的问题

Go 后端项目里,API 文档往往散落在代码注释、wiki 和口头约定中。等到客户端要对接、或者发版前需要做接口评审时,才发现文档与实际路由、参数已经对不上。Swag 的思路是把文档绑定到源码上:在 handler 上方直接写声明式注释,工具扫描源码树后生成 Swagger 2.0 文档,文档与代码始终放在一起演进。本技能面向的场景是:当 agent 需要在文档评审、客户端生成或发版检查之前,把 Go handler 上的注释变成一份可评审的 Swagger 2.0 文档时,按正确流程完成这件事。

技能如何工作

核心流程分三步:

  • 定位入口:扫描带声明式注释的 Go API 源码树,确定承载一般信息(general API info)的入口文件,通常是 main.go。
  • 解析注释:读取 handler 上方的 // @ 注释,覆盖路由、参数、响应结构与扩展字段。扩展字段的键必须以 x- 开头,且只能取 JSON 值,例如 // @x-example-key {"key": "value"}。
  • 生成并接入:生成文档后,必须 import 生成的 docs/docs.go,让对应配置完成 init。若一般信息不在 main.go 中,用 -g 标志显式指定入口文件。

适用边界与注意点

  • 仅覆盖 Go 生态的 Swagger 2.0 文档生成,不是 OpenAPI 3.x 的完整方案。
  • 输出质量取决于注释质量:注释缺失或与实现不一致时,生成的文档同样缺失或失真,工具不会替你校验实现。
  • 注释格式遵循上游声明式注释规范,团队需要自行约定书写风格与维护责任。

使用场景

  • 后端团队在合并 Go 路由代码前,需要根据 handler 上方的注释自动生成 Swagger 2.0 文档,供前端进行接口评审。
  • 客户端准备对接新接口时,需要将 Go 源码中的声明式注释扫描并转成 Swagger 2.0 JSON,以便直接生成请求代码。
  • CI 流水线在发版检查环节,需要调用工具解析 Go 项目目录,校验接口文档是否与代码注释保持同步并输出最终文档。
  • 项目入口文件不在 main.go 时,需要通过指定参数让 Swag 正确识别 general API 注释并生成可被程序加载的文档包。

适合人员

  • 后端 Go 工程师,需要在提交代码时确保 API 文档与 handler 实现严格同步,避免人工维护文档导致的遗漏。
  • 前端接口对接人员,需要获取准确且结构化的 Swagger 2.0 文档来编写和调试客户端请求代码。
  • 研发团队的 CI/CD 负责人,需要在发版流水线中加入自动化校验,确保源码注释生成的文档符合发布标准。
  • 开源项目维护者,需要一种轻量级方案将接口说明直接绑定在源码中,降低贡献者理解 API 的门槛。