3.8 为它加上Swagger

项目地址:https://github.com/EDDYCJY/go-gin-example

涉及知识点

  • Swagger

本文目标

一个好的 API's,必然离不开一个好的API文档,如果要开发纯手写 API 文档,不存在的(很难持续维护),因此我们要自动生成接口文档。

安装 swag

$ go get -u github.com/swaggo/swag/cmd/swag

$GOROOT/bin 没有加入$PATH中,你需要执行将其可执行文件移动到$GOBIN

mv $GOPATH/bin/swag /usr/local/go/bin

验证是否安装成功

检查 $GOBIN 下是否有 swag 文件,如下:

$ swag -v
swag version v1.1.1

安装 gin-swagger

注:三个包都有一定大小,安装需要等一会或要科学上网。

初始化

编写API注释

Swagger 中需要将相应的注释或注解编写到方法上,再利用生成器自动生成说明文件

gin-swagger 给出的范例:

我们可以参照 Swagger 的注解规范和范例去编写

参考的注解请参见 go-gin-example。以确保获取最新的 swag 语法

路由

在完成了注解的编写后,我们需要针对 swagger 新增初始化动作和对应的路由规则,才可以使用。打开 routers/router.go 文件,新增内容如下:

生成

我们进入到gin-blog的项目根目录中,执行初始化命令

完毕后会在项目根目录下生成docs

我们可以检查 docs.go 文件中的 doc 变量,详细记载中我们文件中所编写的注解和说明 image

验证

大功告成,访问一下 http://127.0.0.1:8000/swagger/index.html, 查看 API 文档生成是否正确

image

参考

本系列示例代码

关于

修改记录

  • 第一版:2018年02月16日发布文章

  • 第二版:2019年10月01日修改文章

如果有任何疑问或错误,欢迎在 issues 进行提问或给予修正意见,如果喜欢或对你有所帮助,欢迎 Star,对作者是一种鼓励和推进。

我的公众号

image

Last updated

Was this helpful?