如何使用go-swagger文档

1、安装所需要的包:

go get -u github.com/swaggo/swag/cmd/swag
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files

执行命令swag -v查看是否安装成功,如果没有成功,需要进入路径$GOPATH/github.com/swaggo/swag@v1.8.4/cmd/swag下,执行命令go install,然后从GOBIN路径下将swag复制一份到$GOPATH/bin路径下即可

2、在main.go中添加如下注释:

// @title Go-site Example API
// @version 1.0
// @description This is a sample server Petstore server.
// @termsOfService http://swagger.io/terms/
// @contact.name API Support
// @contact.url http://www.swagger.io/support
// @contact.email support@swagger.io
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @host 127.0.0.1:8889          #表示实际运行的主机和端口
// @BasePath

3、在router中添加swagger的handler,如下:

// 浏览器输入可以打开页面
// http://localhost:8900/swagger/index.html
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

同时导入如下包:

  • 第一个docs为swag init后在项目根目录下自动创建的
  • 其余两个包可以手动导入,也可以执行go fmt后会自动加载进来(前提是vim配置了go开发环境)

4、在业务逻辑代码中,添加注释:

注意:此注释不是乱写的,要根据官方要求填写

5、在项目跟目录下,执行如下命令,生成docs文件夹:

swag init

最后通过链接访问:http://10.9.2.247:8900/swagger/index.html#/

具体注释用法可参考官方文档:

https://github.com/swaggo/swag/blob/master/README_zh-CN.md

标签