swagger接口文档主要用于前后端的接口定义。Golang的swagger文档通过注释的形式编写到api层的代码中,使得接口文档可以随着代码一起维护,降低代码与文档不一致的风险,并通过gf-cli工具生成:swagger API文档生成。

swagger编写

swagger的语法请参考第三方仓库swag:https://github.com/swaggo/swag

目前仅此一家Golang Swagger组件库,Golang的swagger编写体验并不是特别友好,聊胜于无吧。

image2020-12-29_20-43-25.png

swagger生成

我们这里使用以下命令生成:

  1. gf swagger --pack

其中gf swagger命令解析并生成swagger.json文档到项目根目录的swagger路径下,同时这里的—pack选项将swagger.json打包为Golang代码文件生成到项目根目录的packed路径下。
image2020-12-29_20-54-55.png
具体请参考 swagger API文档生成 章节。

swagger插件

我们这里使用到了GoFrame的swagger插件:https://github.com/gogf/swagger
按照仓库介绍说明,我们在boot启动设置模块中添加插件的注册:
image2020-12-29_20-40-20.png

swagger文档查看

随后可以启动程序访问查看swagger接口文档页面:http://127.0.0.1:8199/swagger
image2020-12-29_20-56-11.png