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. 【C/C++开发】C语言 DLL(动态链接库)中申请动态内存释放的问题

    参考:首先,声明一点,凡是使用malloc之类命令动态申请的内存,必须进行释放操作,否则就会发生内存泄漏问题. DLL中申请的内存释放,如果没有做过,很可能会认为是直接在调用程序中释放就可以了,其实不 ...

  2. Hive概述

    HIVE是什么    开发调试麻烦    只能用java开发     需要对hadoop的底层及api比较了解才能开发复杂代码 HQL Hive是基于Hadoop的一个数据仓库工具.可以将结构化的数据 ...

  3. SecureCRT设置 log file

    SecureCRT设置 log filelog file name:D:\1-SecureCRT-log\com-6\%S_%Y%M%D_%h.log on each line:[%Y%M%D_%h: ...

  4. 【转帖】linux下的各个目录的含义

    linux下的各个目录的含义 http://embeddedlinux.org.cn/emb-linux/entry-level/200809/22-85.html/bin/usr/local/bin ...

  5. java 基础(一)-实验楼

    一.标识符:区分大小写由数字.大小写字母.$._ 组成,不能由数字开头.各种变量.方法和类等要素命名时使用的字符序列称.凡是自己可以起名字的地方都叫标识符.不可以使用关键字和保留字,但能包含关键字和保 ...

  6. 啃掉Hadoop系列笔记(03)-Hadoop运行模式之本地模式

    Hadoop的本地模式为Hadoop的默认模式,不需要启用单独进程,直接可以运行,测试和开发时使用. 在<啃掉Hadoop系列笔记(02)-Hadoop运行环境搭建>中若环境搭建成功,则直 ...

  7. table+ajax加载数据

    //ajax加载notice $(function() { //${pageContext.request.contextPath}/ /** var res = [ {noticeTitle:'必答 ...

  8. php学习历程1——注册、登录(面向过程、面向对象)

    首先放一张天空之城 Php入门来的第一个小项目,首先做的是一个简陋的文章管理系统.有登录.注册.文章list.添加文章.修改文章.删除文章.分页这几个小功能. 面向过程的编码 面向对象的编码 首先做的 ...

  9. GET POST请求区别

    cookie .session.tokencookie:存放在浏览器相关的硬盘文件中session:存放在服务器端的内存中,退出后,被清空token:服务器端生成后,不保存,发给客户端,客户端的hea ...

  10. Q函数的使用

    """ Q函数的使用"""# 查询username 或者nicjname 都为zhangsan 的用户# user_list = Weibo ...