goswagger github仓库

https://github.com/swaggo/swag

安装 swag cli

1.因为网络原因,先安装gopm 管理工具

go get -v -u github.com/gpmgo/gopm

安装到了 $GOPTH/bin里 找不到的话,用 sudo find / -name gopm 找一下

2.安装swag

gopm get -g -v github.com/swaggo/swag/cmd/swag

过程中可能会报错,重试即可

3.找到 swag ( find / -name swag ====》   cd /go/src/github.com/swaggo/swag/cmd/swag/) 会看到main.go 文件

4 执行:go install (可能会报错缺少包,挨个安装 go get -u  github.com/urfave/cli)

5 再次执行  go install

不出意外的话,swag安装成功了

找到swag执行文件,应该在$GOPTH/bin里面,然后加成全局变量( sudo cp swag /usr/local/go/bin/)

然后试一下swag -version

lhs:redigo houlv$ swag -version
swag version v1.6.2

成功!

在golang-gin项目上集成swagger

找到main函数所在的类

添加以下代码

import里
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
_ "testsu.cn/rocket/docs"

其中docs是你生成docs的路径

面函数里实现

    g.Go(func() error {
r := gin.New()
url := ginSwagger.URL("http://localhost:8080/swagger/doc.json") // The url pointing to API definition
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
r.Run()
return nil
})

go.mod里添加

	github.com/swaggo/gin-swagger v1.2.1-0.20190717074206-d488a692749f
github.com/swaggo/swag v1.5.1

在API handler文件里添加标准注解

例如:

// @Summary 生成pdf文档
// @Description 传递id生成pdf文档
// @Accept json
// @Param id path int true "id"
// @Success 200 {object} model.VersionDTO
// @Failure 500 {string} json "{"code":500,"data":{},"msg":"ok"}"
// @Router /report/{id}/pdf/download [get]
func (handler *TestcaseReportHtml) DownloadTestCasePDF(c *gin.Context) {

然后在项目的根目录执行

swag init -g launcher/api-rocket/web.go 

-g 后面所跟的为main方法在的位置

之后将项目跑起来,访问地址:
http://localhost:8080/swagger/index.html

即可看到自动生成的文档

入截图所示:

最后添加:将swagger的标准库添加上:

标准注释

https://swaggo.github.io/swaggo.io/declarative_comments_format/general_api_info.html

golang gin框架 集成swagger 自动生成文档的更多相关文章

  1. SpringBoot 集成Swagger2自动生成文档和导出成静态文件

    目录 1. 简介 2. 集成Swagger2 2.1 导入Swagger库 2.2 配置Swagger基本信息 2.3 使用Swagger注解 2.4 文档效果图 3. 常用注解介绍 4. Swagg ...

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

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

  3. 使用Swagger自动生成文档

    1.maven依赖 maven仓库(https://mvnrepository.com/)搜索springfox <!-- https://mvnrepository.com/artifact/ ...

  4. 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

    对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...

  5. 使用swagger在netcorewebapi项目中自动生成文档

    一.背景 随着前后端分离模式大行其道,我们需要将后端接口撰写成文档提供给前端,前端可以查看我们的接口,并测试,提高我们的开发效率,减少无效的沟通.在此情况下,通过代码自动生成文档,这种需求应运而生,s ...

  6. MVC WEB api 自动生成文档

    最近在一直在用webapi做接口给移动端用.但是让我纠结的时候每次新加接口或者改动接口的时候,就需要重新修改文档这让我很是苦恼.无意中发现.webapi居然有自动生成文档的功能....真是看见了救星啊 ...

  7. eoLinker 新功能发布,增加了识别代码注释自动生成文档功能

    产品地址:https://www.eolinker.com开源代码:https://www.eolinker.com/#/os/download在线生成代码注释工具:http://tool.eolin ...

  8. 【Sphinx】 为Python自动生成文档

    sphinx 前言 Sphinx是一个可以用于Python的自动文档生成工具,可以自动的把docstring转换为文档,并支持多种输出格式包括html,latex,pdf等 开始 建一个存放文档的do ...

  9. 使用doctest代码测试和Sphinx自动生成文档

    python代码测试并自动生成文档 Tips:两大工具:doctest--单元测试.Sphinx--自动生成文档 1.doctest doctest是python自带的一个模块.doctest有两种使 ...

随机推荐

  1. pandas中截取一列字符串中每行字符串的一部分

    import pandas as pd df = pd.DataFrame([[',1], [',2], [',3], [',4], [',5], [',6]],columns=['str','num ...

  2. Wordpress 所有 hook 钩子

    muplugins_loaded 在必须使用的插件加载之后. registered_taxonomy 对于类别,post_tag 等 Registered_post_type 用于帖子,页面等 plu ...

  3. 归并排序+归并排序求逆序对(例题P1908)

    归并排序(merge sort) 顾名思义,这是一种排序算法,时间复杂度为O(nlogn),时间复杂度上和快排一样 归并排序是分治思想的应用,我们先将n个数不断地二分,最后得到n个长度为1的区间,显然 ...

  4. Python面试常考点之深入浅出链表操作

    Python面试常考点之深入浅出链表操作 在Python开发的面试中,我们经常会遇到关于链表操作的问题.链表作为一个非常经典的无序列表结构,也是一个开发工程师必须掌握的数据结构之一.在本文中,我将针对 ...

  5. 2 - sat 模板(自用)

    2-sat一个变量两种状态符合条件的状态建边找强连通,两两成立1 - n 为第一状态(n + 1) - (n + n) 为第二状态 例题模板 链接一  POJ 3207 Ikki's Story IV ...

  6. 安装jenkins时出现 No such plugin: cloudbees-folder的解决办法

    今天安装了一下jenkins,在初始化安装插件时出现" No such plugin: cloudbees-folder"错误,根据网上的教程: 1.打开链接"http: ...

  7. Power BI 行级别安全性 (RLS)

    在 Power BI Desktop 中定义角色和规则 你可以在 Power BI Desktop 中定义角色和规则. 发布到 Power BI 时,它还会发布角色定义. 若要定义安全角色,请执行以下 ...

  8. vs code 快捷键设置:选中字母可以快速全部转换为大写或小写

    文件--->首选项--->键盘快捷方式--->搜索:"大写"--->点击"转换为大写"左侧的加号,然后设置快捷键后按enter即可完成添 ...

  9. mvc验证码图片生成

    /// <summary> ///生成验证码 /// </summary> public class VerifyCode { /// <summary> /// ...

  10. QT获取屏幕分表率(PC、安卓)

    QRect screenRect = QGuiApplication::primaryScreen()->geometry(); double devicePixelRatio = QGuiAp ...