跳到主要内容
版本:2.8.x(Latest)

编写完成的接口交给前端调用时,需要为他们准备好一份接口文档。幸运的是,GoFrame已经内置自动生成接口文档功能,节省了我们大量的时间。只需要在编写api时携带一些额外的tag,即可生成优美的文档。

api/users/v1/users.go

package v1  

import "github.com/gogf/gf/v2/frame/g"

type RegisterReq struct {
g.Meta `path:"users/register" method:"post" sm:"注册" tags:"用户"`
Username string `json:"username" v:"required|length:3,12" dc:"用户名"`
Password string `json:"password" v:"required|length:6,16" dc:"密码"`
Email string `json:"email" v:"required|email" dc:"邮箱"`
}

type RegisterRes struct {
}

在浏览器中打开 http://127.0.0.1:8000/swaggerswagger

另外一个地址http://127.0.0.1:8000/api.json提供了Json格式的接口文档,可以导入到各类Api工具中使用。

除了smtagsdc标签外,GoFrame还提供了如下标签:

常见OpenAPIv3标签说明备注
path结合注册时的前缀共同构成接口URI路径用于 g.Meta 标识接口元数据
tags接口所属的标签,用于接口分类用于 g.Meta 标识接口元数据
method接口的请求方式: GET/PUT/POST/DELETE...(不区分大小写)用于 g.Meta 标识接口元数据
deprecated标记该接口废弃用于 g.Meta 标识接口元数据
summary接口/参数概要描述缩写 sm
description接口/参数详细描述缩写 dc
in参数的提交方式header/path/query/cookie
default参数的默认值缩写 d
mime接口的 MIME 类型,例如 multipart/form-data 一般是全局设置,默认为 application/json用于 g.Meta 标识接口元数据
type参数的类型,一般不需要设置,特殊参数需要手动设置,例如 file仅用于参数属性