SuperAPI AI 工具集

golang-gin-swagger

编程与开发

查看项目

更新于 10-15 22:12

技能介绍

用途:为 Go Gin API 添加 Swagger/OpenAPI 文档,包括端点注解、请求/响应模式、Swagger UI 交互浏览、从 Go 注解生成 swagger.json/swagger.yaml,以及 JWT Bearer 认证文档和 CI/CD 文档校验。

主要能力:安装 swag CLI 与 gin-swagger、files 依赖;在 main() 前写通用 API 注解(@host、@BasePath、@schemes、@securityDefinitions.apikey BearerAuth);托管 Swagger UI;为处理器写注解;用结构体标签控制示例、格式、枚举、隐藏字段、类型覆盖与数值/长度边界;生成并提交 docs 目录。

必要用法:go install github.com/swaggo/swag/cmd/swag@latest;go get -u github.com/swaggo/gin-swagger 与 go get -u github.com/swaggo/files;确保 $(go env GOPATH)/bin 在 $PATH。托管 UI 需空白导入 _ "myapp/docs",可用 GIN_MODE != release 在生产隐藏,访问 /swagger/index.html。生成命令:swag fmt && swag init -g cmd/api/main.go,可加 -d 指定目录、--parseInternal 解析 internal 类型。

关键规则:@Router 用 {id} 而非 :id;@Security 名称须与 @securityDefinitions.apikey 完全一致;@Success/@Failure 用命名结构体,不用 gin.H 或 map[string]interface{};以 Go 文档注释开头。

限制:不处理 API 实现、认证、数据库或部署;无 watch 模式,改动后需重跑 swag init;time.Time 需 swaggertype:"string" format:"date-time";类型解析失败可加 --parseInternal 或 --parseDependency;internal_ 前缀问题可用 --useStructName。具体收费与平台信息暂未提供。