Go Swagger 安装使用
下载安装
1 | 执行 |
然后直接执行
1 | swag |
成功的话会显示如下内容
1 | # 执行结果 |
如果出现以下内容,请将GOPATH/bin添加至环境变量PATH中(GOPATH指的是Golang的GOPATH所在目录)
1 | swag : 无法将“swag”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 |
按照swagger要求给接口代码添加声明式注释
具体参照声明式注释格式 。
下面的例子中,只要是注释后面的描述用括号括起来的,那么括号前那一段就是示例,下面这些内容也都是上面的声明时注释格式中的内容
main函数注释
1 | package main |
API注释
1 | // 函数名 函数描述 |
使用swag工具扫描代码自动生成API接口文档数据
1 | # 如果是刚安装的swagger,记得把工作目录切换回项目目录 |
如果这一步发生了错误,而错误类似于未找到 swag 命令,那么问题就出现在没有将GOPATH添加到环境变量中,只用把 GOPATH目录/bin 文件夹添加到环境变量之后,重启GoLand,就能解决
执行完上述命令后,此时项目根目录下会多出一个docs
文件夹。
1 | ./docs |
引入gin-swagger渲染在线接口文档页面
在项目代码中注册路由的地方按如下方式引入gin-swagger
相关的这三条内容:
1 | import( |
注册swagger api相关路由
1 | r.GET("/swagger/*any", gs.WrapHandler(swaggerFiles.Handler)) |
把项目程序运行起来,打开浏览器访问http://localhost:8080/swagger/index.html就能看到Swagger文档了。
gin-swagger
同时还提供了DisablingWrapHandler
函数,方便我们通过设置某些环境变量来禁用Swagger。例如:
1 | r.GET("/swagger/*any", gs.DisablingWrapHandler(swaggerFiles.Handler, "NAME_OF_ENV_VARIABLE")) |
此时如果将环境变量NAME_OF_ENV_VARIABLE
设置为任意值,则/swagger/*any
将返回404响应,就像未指定路由时一样。
- 标题: Go Swagger 安装使用
- 作者: 日之朝矣
- 创建于 : 2023-03-05 15:45:31
- 更新于 : 2024-08-18 09:25:27
- 链接: https://blog.rzzy.fun/2023/03/05/go-swagger/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论