Goland Gin学习随笔三(Swagger基本使用)

1、Swagger是什么

Swagger 是一个 API 生成工具,可以生成文档。 Swagger 是通过编写 yamljson 来实现文档化。并且可以进行测试等工作。通过 swagger 可以方便的生成接口文档,方便前端进行查看和测试。

2、Go安装Swagger

使用命令:go get -u github.com/swaggo/swag/cmd/swag 安装始终存在问题,一直找不到比较好的办法。

Goland Gin学习随笔三(Swagger基本使用)_第1张图片

只能自己手动安装缺失的依赖到指定 的目录下。比如:

Goland Gin学习随笔三(Swagger基本使用)_第2张图片

安装完所有缺失的依赖后,可以输入命令: swag -v 来检查是否安装成功,如系统找不到swag命名,有两种可能:

i). 需要手动安装:在路径"$GOPATH/src/github.com/swaggo/swag/cmd/swag"下执行: go install  成功后可以在"$GOPATH/bin"下看到可执行文件: swag

ii}. $GOPATH/bin 没有设置成系统全局或者用户的环境变量路径。

3、在工程中使用Swagger

3.1、初始化Swagger

在main.go同级目录下执行: swag init  成功后生成docs目录,同时生成文件;docs.go  swagger.json  swagger.yaml

Goland Gin学习随笔三(Swagger基本使用)_第3张图片

j建议在配置理由的代码文件中: import

然后 sync packages  Goland会自动下载对应的package

如果无法下载,可以给go mod添加代理,可以选择阿里的代理服务: "https://mirrors.aliyun.com/goproxy/"

添加代理: File-Setting-Go-Go Modules(vgo)-Proxy

Goland Gin学习随笔三(Swagger基本使用)_第4张图片

3.2、集成Swagger

1、在main.go添加引用:

  import  _  "local.gin/router/docs"  (local.gin/router 是项目路径)

2、在router配置中添加引用:

import (
   "github.com/gin-gonic/gin"
   swaggerFiles "github.com/swaggo/files"
   ginSwagger "github.com/swaggo/gin-swagger"
   ... (省略部分packages)
   "net/http"
)

3、在router配置中添加路由:

url := ginSwagger.URL("http://localhost:8080/swagger/doc.json")
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))

4、添加注释:

先在main.go中为整个项目添加必要的说明,如:

Goland Gin学习随笔三(Swagger基本使用)_第5张图片

在处理模块handle中添加必要的注释,如:

Goland Gin学习随笔三(Swagger基本使用)_第6张图片

PS:添加完所有的注释后,需要重新执行 "swag init" 来更新 docs.go  swagger.json  swagger.yaml

5、打开浏览器,输入url: "http://localhost:8080/swagger/index.html" 可以看到:

Goland Gin学习随笔三(Swagger基本使用)_第7张图片

 

 

 

你可能感兴趣的:(Go)