g.Meta 支持哪些标签(method/path/summary/middleware 等)
结论:g.Meta 是内嵌在 Req/Res 结构体首位的“元数据锚点”,以结构体标签形式声明路由与接口文档信息;核心标签有 method、path、summary、description、tags、deprecated、consumes/produces、security、middleware 等(完整集合以官方文档为准)。
一、常用标签速查
| 标签 | 作用 |
|---|---|
| method | 注册路由的 HTTP 方法,如 "get"、"post" |
| path | 注册路由的访问路径,如 "/user/create" |
| summary | 接口摘要,用于文档/OpenAPI |
| description | 接口详细描述 |
| tags | 接口分组标签(如 "用户管理") |
| deprecated | 标记接口废弃 |
| consumes / produces | 请求/响应媒体类型声明(文档用) |
| security | 接口安全相关声明(文档用) |
| middleware | 为路由装配中间件(以官方文档支持情况为准) |
二、使用要点
- g.Meta 以匿名字段方式嵌入结构体,建议放在结构体第一个字段。
- method/path 属于“路由类”标签,注册路由时被框架解析,决定自动路由的生成。
- summary/tags/description 等属于“文档类”标签,主要服务 OpenAPI 与接口文档输出。
代码示例
type CreateUserReq struct {
g.Meta `path:"/user/create" method:"post" summary:"创建用户" tags:"用户管理"`
Name string `json:"name" v:"required|length:2,20"`
Age int `json:"age"`
}
type CreateUserRes struct {
Id int64 `json:"id"`
}
常见追问 / 记忆点
- 追问:g.Meta 能嵌在 Res 里吗?→ 可以,响应结构体同样支持内嵌,常用于补充响应文档信息。
- 追问:标签写错会怎样?→ 轻则文档信息缺失,重则路由解析/注册报错,具体行为以官方文档为准。
- 记忆点:method/path 管“路由在哪”,summary/tags 管“文档怎么写”,middleware 管“谁来拦”。