如何使用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


