优雅接口联调-GoLand接口同步YAPI
目标和效果预览
涉及内容
文章中用到的技术栈包括:GoLand、Swagger、YAPI
目标:随时同步接口到YAPI,提升协作效率
高效提供API文档;
API调试
保存测试用例;
效果:
实施
注释写法
1、设置项目同步接口
按自己项目路由规则书写即可,下图则是本人项目内的写法
// ====================================================================// 配置文件定义变量// ====================================================================swagger:token: "xxxx" # YAPI上创建项目的token// ====================================================================// 接口定义// ====================================================================type SyncInterfaceReq struct {g.Meta `path:"/sync/interface" tags:"接口管理" method:"post" summary:"同步接口到YApi"`}type SyncInterfaceRes struct {Msg string `json:"msg" dc:"结果"`}// ====================================================================// controller定义// ====================================================================var (Swagger = cSwagger{})type cSwagger struct{}// SyncToYApi 同步API数据到YAPIfunc (c *cSwagger) SyncToYApi(ctx context.Context, _ *v1.SyncInterfaceReq) (res *v1.SyncInterfaceRes, err error) {msg, err := service.Swagger().SyncToYApi(ctx)if err != nil {return}res = &v1.SyncInterfaceRes{Msg: msg}return}// ====================================================================// service定义// ====================================================================import ("context""github.com/JanVee/yapigo")type sSwagger struct{}func init() {service.RegisterSwagger(NewSwagger())}func NewSwagger() *sSwagger {return &sSwagger{}}func (s *sSwagger) SyncToYApi(ctx context.Context) (msg string, err error) {return yapigo.MergingToYApi(ctx), nil}
go get github.com/JanVee/yapigo
加载同步组件
如下图所示,获取项目Token
项目Token:登陆YApi,进入【 项目列表 »»» 项目/设置 »»» Token设置 】查看自己项目的Token值
2、GO项目中配置RUN
»»» a、在项目目录内创建http文件,本文创建在工具类中
// ====================================================================// Yapi.http文件内容如下:### UpdateYApiPOST {{domain}}/api/sync/interfaceContent-Type: application/json// ====================================================================// http-client.private.env.json文件内容如下:配置本地域名和端口// ===================================================================={"dev": {"domain": "http://127.0.0.1:8000"}}
备注:可以看到Yapi.http就可以使用配置的环境变量了
»»» b、边开发边同步接口到线上Yapi
到目前为止,就实现了接口同步工作
YAPI调试和测试集合
调试和测试
»»» a、安装Cross-Request插件 :
注意:首次进行接口测试,“发送”按钮为灰色,会提示需要安装cross-request插件
点击下载.zip安装包;
谷歌浏览器:设置---->更多工具---->扩展程序---→开发者模式;
将下载的安装包直接拖入浏览器,即可自动安装;
结语
总结
在团队协作当中,我们会期望协作方可以先提供接口,方便自己有效的工作,此时一个可随时变更接口至线上YAPI系统功能将十分重要,不仅仅方便自己开发调试,测试过程中YAPI的测试集合,也是有价值的,直接提供给协作方使用,提升了大家的工作效率。