swaggos 是一个golang版本的swagger文档生成器,提供了native code包装器,并且支持主流的web框架包裹器

github 地址:https://github.com/swaggo/gin-swagger

下载安装 swag

$ go get -u github.com/swaggo/swag/cmd/swag

在Go项目根文件夹中运行Swag

main.go所在目录执行 swag init, -g 参数是输出详细信息

执行后,会生成docs/doc.go以及docs/swagger.json,docs/swagger.yaml

$ swag init

下载gin-swagger

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

然后在路由文件引入

import (
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)

添加访问文档路由

// swage 文档访问路由\n
eng := gin.Default()
eng.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

注释参数

  • 注释详细格式参考:https://swaggo.github.io/swaggo.io/declarative_comments_format/general_api_info.html

  • 主程序注释(main.go)

    // @title Golang Esign API
    // @version 1.0
    // @description Golang api of demo
    // @termsOfService http://github.com // @contact.name API Support
    // @contact.url http://www.cnblogs.com
    // @contact.email ×××@qq.com //@host 127.0.0.1:8081
    func main() {
    }
  • 控制器注释(congroller.go)

    • Get 参数方法

      type GetOperationLogListResponse struct {
      List *[]model.OperationLog `json:"list"`
      Total int `json:"total"`
      } // @Title 应用中心操作日志
      // @Author mengyilingjian@outlook.com
      // @Description 获取应用中心操作日志
      // @Tags operationlog
      // @Param Authorization header string true "Bearer 31a165baebe6dec616b1f8f3207b4273"
      // @Param route formData string false "路由"
      // @Param operator formData string false "操作者"
      // @Param operation_type formData string false "操作类型 1 新增、2 删除、3 更新"
      // @Param description formData string false "操作描述"
      // @Param start_time formData string false "开始时间"
      // @Param end_time formData string false "结束时间"
      // @Param page formData string true "页数"
      // @Param size formData string true "数据条数"
      // @Success 200 {object} GetOperationLogListResponse
      // @Router /api/v1/app/operationlog/appcenter [get]
      func GetOperationLogList(c *gin.Context) { }

      以上生成文档格式如下:

    • Post 参数方法

      ReleaseTemplateAdd struct {
      Name string `json:"name"`
      DeployEnv string `json:"deploy_env"`
      GitlabType int `json:"gitlab_type"`
      GitlabBranchName string `json:"gitlab_branch_name"`
      IsAutoRelease int `json:"is_auto_release"`
      Description string `json:"description"`
      GitlabCITemplateID int32 `json:"gitlab_ci_template_id"`
      GitlabID uint32 `json:"gitlab_id"`
      }
      // @Title 新增模版
      // @Author mengyilingjian@outlook.com
      // @Description 新增模版
      // @Tags release template
      // @Param Authorization header string true "Bearer 31a165baebe6dec616b1f8f3207b4273"
      // @Param body body ReleaseTemplateAdd true "JSON数据"
      // @Success 200 {object} handler.ReportJSONResult
      // @Router /api/v1/release/template/add [post]
      func ReleaseTemplateAdd(c *gin.Context){ }

      以上生成格式文档如下:

Go gin框架 使用swagger生成API文档的更多相关文章

  1. golang gin框架 使用swagger生成api文档

    github地址:https://github.com/swaggo/gin-swagger 1.下载swag $ go get -u github.com/swaggo/swag/cmd/swag ...

  2. .Net Core 3.1 WebApi使用Swagger生成Api文档

    用swagger生成Api文档 1.安装Swashbuckle.AspNetCore 右键单击"解决方案资源管理器" > "管理 NuGet 包"中的项目 ...

  3. 使用swagger生成API文档

    有时候一份清晰明了的接口文档能够极大地提高前后端双方的沟通效率和开发效率.本文将介绍如何使用swagger生成接口文档. swagger介绍 Swagger本质上是一种用于描述使用JSON表示的RES ...

  4. 12 Django Rest Swagger生成api文档

    01-简介 Swagger:是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新.当接口有变动时,对应的接 ...

  5. Laravel(PHP)使用Swagger生成API文档不完全指南 - 基本概念和环境搭建 - 简书

    在PHPer中,很多人听说过Swagger,部分人知道Swagger是用来做API文档的,然而只有少数人真正知道怎么正确使用Swagger,因为PHP界和Swagger相关的资料实在是太少了.所以鄙人 ...

  6. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  7. 浅析如何在Nancy中使用Swagger生成API文档

    前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger, ...

  8. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)

    一:Swagger介绍 Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目 实现了与SpingMVC框架的无缝集成功能,方便生成spring r ...

  9. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api

    本文作者:小雷FansUnion-一个有创业和投资经验的资深程序员-全球最大中文IT社区CSDN知名博主-排名第119   实际项目中非常需要写文档,提高Java服务端和Web前端以及移动端的对接效率 ...

随机推荐

  1. 蒲公英 · JELLY技术周刊 Vol.20: Vue3 极致优化——分析 Vue3 Compiler 告诉你为什么这么快

    蒲公英 · JELLY技术周刊 Vol.20 性能优化是一条无尽的路,我们总是可以找到各种途径去提升体验,不论是响应时间还是按需加载,亦或是根据框架或者组件有针对性的优化都会是不错的方法.如果你在使用 ...

  2. Maven 仓库镜像设置

    <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>al ...

  3. 小程序里的request

    test.js 代码如下: makeRequest: function (e) { var self = this wx.request({ url: 'http://lt.com/home/inde ...

  4. JS数组去重的实现

    其实数组去重的实现就分为两大类 利用语法自身键不可重复性 利用循环(递归)和数组方法使用不同的api来处理. 注意️:下列封装成方法的要在函数开始增加类型检测,为了让去重的实现代码更加简单易懂,封装时 ...

  5. Oracle WITH 语句 语法

    With语句可以在查询中做成一个临时表/View,用意是在接下来的SQL中重用,而不需再写一遍. With Clause方法的优点: 增加了SQL的易读性,如果构造了多个子查询,结构会更清晰. 示例: ...

  6. 20190923-04Linux用户管理命令 000 012

     useradd 添加新用户 1.基本语法 useradd 用户名 (功能描述:添加新用户) useradd -g 组名 用户名 (功能描述:添加新用户到某个组) 2.案例实操 (1)添加一个用户 [ ...

  7. [PyTorch 学习笔记] 6.2 Normalization

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_and_initialize.py https: ...

  8. 接口自动化---简单的数据驱动框架ATP(基于excel)

    数据驱动测试:根据数据进行测试.将用例写入excel文件,用代码读取文件中的数据,从而实现自动化测试. 自动化框架实现步骤: 1.获取用例 2.调用接口 3.校验结果 4.发送测试报告 5.异常处理 ...

  9. jenkins安装和邮件配置

    一.jenkins下载 Jenkins的下载地址是https://jenkins.io/download/,下载的时候可以选择各个版本的以及对应操作系统的版本,一般你下载的时候下载通用的.war文件即 ...

  10. git仓库个人和企业版新增仓库和成员

    1.首先要在本地安装一个git安装包,比如安装完之后路径是在      D:\Program Files (x86)\Git\bin\git.exe 2.访问git网址  https://gitee. ...