「连载八」为它加上Swagger
涉及知识点
- Swagger
本文目标
一个好的 API's,必然离不开一个好的API文档,如果要开发纯手写 API 文档,不存在的(很难持续维护),因此我们要自动生成接口文档。
安装 swag
$ go get -u github.com/swaggo/swag/cmd/swag@v1.6.5
若 $GOROOT/bin 没有加入$PATH中,你需要执行将其可执行文件移动到$GOBIN下
mv $GOPATH/bin/swag /usr/local/go/bin
验证是否安装成功
检查 $GOBIN 下是否有 swag 文件,如下:
$ swag -v
swag version v1.6.5
安装 gin-swagger
$ go get -u github.com/swaggo/gin-swagger@v1.2.0
$ go get -u github.com/swaggo/files
$ go get -u github.com/alecthomas/template
注:若无科学上网,请务必配置 Go modules proxy。
初始化
编写 API 注释
Swagger 中需要将相应的注释或注解编写到方法上,再利用生成器自动生成说明文件
gin-swagger 给出的范例:
|
|
我们可以参照 Swagger 的注解规范和范例去编写
|
|
|
|
参考的注解请参见 go-gin-example。以确保获取最新的 swag 语法
路由
在完成了注解的编写后,我们需要针对 swagger 新增初始化动作和对应的路由规则,才可以使用。打开 routers/router.go 文件,新增内容如下:
|
|
生成
我们进入到gin-blog的项目根目录中,执行初始化命令
[$ gin-blog]# swag init
2018/03/13 23:32:10 Generate swagger docs....
2018/03/13 23:32:10 Generate general API Info
2018/03/13 23:32:10 create docs.go at docs/docs.go
完毕后会在项目根目录下生成docs
docs/
├── docs.go
└── swagger
├── swagger.json
└── swagger.yaml
我们可以检查 docs.go 文件中的 doc 变量,详细记载中我们文件中所编写的注解和说明
验证
大功告成,访问一下 http://127.0.0.1:8000/swagger/index.html, 查看 API 文档生成是否正确
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/go/posts/go/gin/2018-03-18-swagger/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com