用途:在 Go 项目中用 Gin 构建 HTTP API,强调清晰稳定的接口契约,所有写操作都在服务端完成绑定、校验与授权。
主要能力:覆盖 Gin 路由与分组、中间件、请求绑定(ShouldBindJSON/ShouldBindQuery/URI)、validator 标签校验、统一 JSON 错误格式、认证与授权区分、分页与过滤、按领域组织目录结构,以及日志、请求 ID、context 传播等可观测性实践。
使用方式:推荐目录为 cmd/api/main.go 加 internal 下的 config、http(router、middleware、handlers)、domain、repository;main 只做装配。路由用 gin.New() 并挂载 Recovery、RequestID、Logger,按 /api/v1 分组,认证中间件加在组上。Handler 签名为 func(c *gin.Context),绑定失败返回 400 及 {code,message,details?} 结构,状态码按 400/401/403/404/409/422/429/500 区分。配置与密钥走环境变量,生产环境用 http.Server 加 signal 做优雅关闭。
适用场景:创建、审查或重构 Go HTTP API,尤其是需要版本化路由、统一错误约定、授权检查与安全分页的服务。
限制:资料未提供具体安装命令、依赖版本、性能数据或收费信息;并发、WebSocket、SQL、测试、运维与国际化需参考其他相关技能。避免在 handler 中写业务逻辑、忽略请求取消、仅前端校验、生产使用 debug 模式等反模式。