准备工作

引入swaggo依赖:

## swagger 依赖
go get "github.com/swaggo/files"
go get "github.com/swaggo/gin-swagger"## swagger 命令行工具
go get -u github.com/swaggo/swag/cmd/swag
go install github.com/swaggo/swag/cmd/swag

项目地址:《gin-swagger项目地址Github》

进入正题

1、首先在main函数前添加描述:

// @title helloworld
// @version 1.0
// @description chenwenyu test helloworld
// @termsOfService http://swagger.io/terms/// @contact.name cwy
// @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 cwy.helloworld.com
// @BasePath /base/path
func main() {}

2、注册swagger路由信息:

import (swaggerFiles "github.com/swaggo/files"ginSwagger "github.com/swaggo/gin-swagger"
)func main() {...//注册swagger路由router := gin.Default()router.GET("/swagger/*any", func(c *gin.Context) {ginSwagger.DisablingWrapHandler(swaggerFiles.Handler, "SWAGGER")(c)})...
}

3、 给函数方法添加备注:

POST方法:

type ConfigParam struct {Switch          bool   `json:"switch" example:"true"`StorageTime     int    `json:"storage_time" example:"7"`StorageCapacity int    `json:"storage_capacity" example:"100"`InstanceMark    string `json:"instance_mark" example:"10.12.11.1_33066"`ClusterMark     string `json:"cluster_mark" example:"10.79.1.1_33066"`
}type FormRespFail struct {Status string `json:"status" example:"0001"`Msg    string `json:"msg" example:"some error"`
}type FormRespSuccess struct {Status string `json:"status" example:"0000"`Msg    string `json:"msg" example:"success"`
}// SetConfig
// @Summary SQLTest服务配置
// @Description  SQLTest服务配置
// @Tags SQLTest
// @Accept  json
// @Produce  json
// @Param body body ConfigParam true "请求body"
// @Success 200 {object} utils.FormRespSuccess
// @Router /api/v1/audit/config [post]
func (s *SQLTest) SetConfig(ctx *middleware.Context) {}

GET方法:

// GetConfig
// @Summary 查询SQLTest服务配置
// @Description  查询SQLTest服务配置
// @Tags SQLTest
// @Accept  json
// @Produce  json
// @Param instance_mark query string true "节点标识"
// @Param start_time query int true "查询起始时间"
// @Param end_time query int true "查询结束时间"
// @Param user query string false "执行用户"
// @Param start_exec_time query int false "执行时长下限"
// @Param end_exec_time query int false "执行时长上限"
// @Param content query string false "SQL内容"
// @Param next_id query int false "下一页ID"
// @Success 200 {object} utils.FormRespSuccess
// @Router /api/v1/audit/config [get]
func (s *SQLTest) GetConfig(ctx *middleware.Context) {}

4、文档初始化

cd helloworld #进入项目根路径
swag init -g ./src/cmd/main.go -o ./docs  #初始化文档
项目结构
```
./helloworld
├── docs
│   ├── docs.go
│   ├── swagger.json
│   └── swagger.yaml
├── go.mod
├── go.sum
└── src├──cmd├── main.go
```

swag init执行成功之后会在项目目录下出现docs子目录,子目录中会出现docs.go,swagger.json,swagger.yaml三个文件,随后在main文件中import docs模块

import (_ "helloworld/docs"
)

5、编译运行

编译运行服务,访问本地http://127.0.0.1:8000/base/path/swagger 即可访问swagger文档

Gin-swagger完整使用教程相关推荐

  1. oracle oats 安装,Mentor完整培训教程.pdf

    Mentor完整培训教程 MENTOR基本培训教程 电路设计人员电路设计人员 MENTORMENTOR培训教程培训教程 讲述人讲述人:: 叉叉刀片叉叉刀片 叉叉刀片 设计室 MENTOR基本培训教程 ...

  2. GPT转MBR怎么转?GPT转MBR完整图文教程

    GPT转MBR分区怎么转?现在很多笔记本的硬盘分区都是GPT模式,如果想装XP的话,那只能将GPT磁盘转换成MBR磁盘分区才行.接下来,简单说说如何将GPT分区转成MBR分区! 如果本身电脑有两个硬盘 ...

  3. 万能Ghost全攻略(最详细完整的教程)

    万能Ghost全攻略(最详细完整的教程) 一.运行 Sysprep 工具的要求      要使用 Sysprep 工具,计算机的硬件和相关设备必须满足下列要求: 1. 参考计算机和目标计算机必须具有兼 ...

  4. Pycharm完整中文教程及安装配置

    Pycharm完整中文教程 https://www.pycharm.net.cn/ https://blog.csdn.net/weixin_36411839/article/details/8228 ...

  5. 金泰克/tigo S300 240G SM225K H27QFG8PEM5R 完整开盘教程

    金泰克/tigo S300 240G SM225K H27QFG8PEM5R 完整开盘教程 前几天电脑运行中黑屏了,重启发现固态坏了,系统在主板的M2固态盘上,使用没影响.于是把马上三年质保的东芝盘反 ...

  6. 大白菜U盘启动盘制作工具完整使用教程

    目录 一.制作前的准备工作 二.制作U盘启动盘 三.将U盘设置为优先启动项 四.U盘重装系统 大白菜U盘启动盘制作工具完整使用教程 大白菜是一款具有支持提取安装文件,并自动进行系统安装和引导修复过程等 ...

  7. 视频教程-最新完整react教程从入门到精通包教包会-ReactJS

    最新完整react教程从入门到精通包教包会 10年以上开发经验,曾经是八维教育实训主任,千峰教育高级HTML5前端讲师,尚品中国创始人.现任程序思维创始人.曾和大厂.国企等大型企业合作开发项目.百余客 ...

  8. android高级编程新浪,《C高级编程(第4版)》-完整教材教程

    崇仁不畅陌生丽台怪声礼物两可.寰球撬杠倡导搏击电星新盘蒙住<C高级编程(第4版)>-完整教材教程,胚柄抽空绿化些微两路.恸哭浅山转折乐华被迫党员心咒.国网茶荷前镇鬼物奶羊,全班柳铁路遥橱窗 ...

  9. android xfire,XFire完整入门教程

    # re: XFire完整入门教程 2008-02-28 11:01 | milo 请问下面的异常是由什么到导致的. - No beans defined in application context ...

  10. matlab不连接internet激活_MATLAB R2019b 完整激活教程

    原标题:MATLAB R2019b 完整激活教程 准备工作: 1.下载MATLAB R2019b安装包 链接:https://www.macdu.org/24146.html 2.安装大概需要 26G ...

最新文章

  1. 基于asp.net2.0中membership系统角色、用户、资源的权限设计
  2. spring context 例子
  3. ICCV 2019 论文解读 | 基于层次解析的Image Captioning
  4. 关系型数据库,第一!
  5. Dynamics 365 On-premises和Online 的不同
  6. java 字符串匹配_多模字符串匹配算法原理及Java实现代码
  7. 计算机学院运动会开幕式稿,运动会开幕式新闻稿 运动会开幕式广播稿原创2019...
  8. Chrome的开发者工具初探
  9. 使用iftop监控网卡实时流量
  10. 《Android移动应用开发》 复习题(一)
  11. 第三讲 信息资产的分类与控制
  12. 用 js判断 一个数是否是素数(质数)_Javascript 判断一个数是不是素数
  13. Java设计模式及实践
  14. Code jock的使用--皮肤
  15. 大学生应知道50件事
  16. linux命令Istat,Linux stat命令和AIX istat命令 (查看文件修改时间)
  17. Kendo UI 绑定行点击事件
  18. 毕业设计之背包系统1
  19. HTML5基础-新增标签+新增属性+布局案例
  20. UNIAPP获取天气

热门文章

  1. HMM/GMM识别之三音素训练——决策树
  2. 记一次令人难忘的培训
  3. 读材料专业的你后来都怎样了?
  4. 移动平台WorkPlus集成化办公,打造企业全场景业务生态
  5. js+PHP利用PHPExcel导出表格数据到excel
  6. 什么是牛B的拍砖文章
  7. 购物php功能模块,phpweb成品网站网上购物模块功能简介
  8. 用dos命令查看计算机E盘,用DOS命令获取文件列表
  9. php和nodejs和java的区别_讨论PHP和Node.js开发之间有什么区别
  10. Oracle11g下载地址--多平台下的32位和64位