syntax = "v1" import "common.api" type SetUserGameScoreRequest { Score uint64 `json:"score"` } type RankingData { Nickname string `json:"nickname" db:"nickname"` // 昵称 Avatar string `json:"avatar" db:"avatar"` // 头像 Score uint32 `json:"score" db:"score"` // 得分 UserId uint64 `json:"-" db:"app_user_id"` // 用户 ID Rank uint32 `json:"rank" db:"t_rank"` // 排名 Self bool `json:"self" db:"-"` // 是否是自己 } @server( group: game prefix: /v1/game // 对当前 Foo 语法块下的所有路由,新增 /v1 路由前缀,不需要则请删除此行 jwt: Auth // 开启 jwt 认证 timeout: 3s // 对当前 Foo 语法块下的所有路由进行超时配置,不需要则请删除此行 maxBytes: 1048576 // 对当前 Foo 语法块下的所有路由添加请求体大小控制,单位为 byte,goctl 版本 >= 1.5.0 才支持 ) service game_open_api-api { @handler rankingList get /ranking/list returns ([]RankingData) @handler rankingSetScore post /ranking/set_score (SetUserGameScoreRequest) returns (Base) }