首页 > 其他分享 >go gin框架集成gin-swagger生成接口文档

go gin框架集成gin-swagger生成接口文档

时间:2022-11-24 23:45:08浏览次数:66  
标签:swag object file go gin swagger

 

  •   下载swag 工具
go get -u github.com/swaggo/swag/cmd/swag
  •   测试swag工具是否安装成功:

  1、出现上面问题,首先看,是否把gopath 的bin目录设置为系统 的可执行命令,即加入系统path环境变量

  2 检测bin目录是否生成swag.exe文件,如未生成,到swag的下载文件位置执行go install命令

 

 

  • 再次执行swag -v成功后,显示成功后的版本信息
D:\code\go\src\onlincerestaurant>swag -v
swag version v1.8.8
  • 执行swag  init命令后,项目根据会生成docs目录

  • 下载gin-swagger相关的包
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
  • 下载成功后,在main主函数,添加相关注解,并在项目启动前加入如下代码
app.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// @contact.name  API Support
// @contact.url   http://www.swagger.io/support
// @contact.email [email protected]

// @license.name Apache 2.0
// @license.url  http://www.apache.org/licenses/LICENSE-2.0.html

 

  • swagger接口文档,是根据控制器中,接口路由的注解配置生成的,json文件,所以配置对了才会生成文档
// @Summary    发送验证码
// @Description  get 发送验证码
// @Tags         member
// @Accept       json
// @Produce      json
// @param        phone  query string   true  "phone请求参数"
// @Success      200  {object}   object
// @Failure      500  {object}  object
// @Router       /api/sendcode [get]

  参数param的几种类型 

query 形如 /user?userId=1
body 需要将数据放到 body 中进行请求
formData multipart/form-data* 请求
path 形如 /user/1
header header头信息

  •   上传附件,注解配置
// @Summary    用户头像上传
// @Description    用户头像上传
// @Tags         member
// @Accept       multipart/form-data
// @Produce      json
// @param        user_id body string true "请求参数"
// @param        file_img formData   file true "file"
// @Success      200  {object}   object
// @Failure      500  {object}  object
// @Router       /api/upload_img [post]
func (mc *MemberController) uploadImg(ctx *gin.Context) {

    //1、 解析上传的参数file、user_id
    userId := ctx.PostForm("user_id")
    fmt.Sprintf("userid:" + userId)
    file, err := ctx.FormFile("file_img")
    if err != nil || userId == "" {
        tool.Failed(ctx, "参数解析失败", "")
        return
    }

 

  

配置好后,执行swag  init命令后,注解会生生效,然后启动项目即可

 

   参考:https://blog.csdn.net/ling1998/article/details/124205500

标签:swag,object,file,go,gin,swagger
From: https://www.cnblogs.com/personblog/p/16923629.html

相关文章

  • nginx启动报错80端口号已占用
    开启或重启Nginx时报如下错误:Nginx[emerg]:bind()to0.0.0.0:80failed(98:Addressalreadyinuse)原因是端口号80被其它程序或文件占用了杀死占用端口号:sudo......
  • android 引导图engine类封装
    暂时做的是全局点击区域,如果要做那种热点点击区域也是可以的哈,给我一个填充器就能产生一个view,既然能产生一个view,那么也就能产生一个引导.....附上我的原创封装代码:Gu......
  • 一文了解 Go 的复合数据类型(数组、切片 Slice、Map)
    耐心和持久胜过激烈和狂热。前言上一篇文章​​一文熟悉Go的基础语法和基本数据类型​​,讲解了Go的基础语法和基本数据类型,本篇文章将对Go的复合数据类型(数组、切......
  • Nginx
    一、什么是Nginx?Nginx(enginex)是一款轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。   什么是反向代理?反向代理(ReverseProxy)方......
  • golang coredump
    golang生成coredump文件refer:   https://blog.csdn.net/xmcy001122/article/details/105665732   http://t.zoukankan.com/lit10050528-p-4811833.html1.设置cor......
  • Go加载依赖包命令
     gopath环境变量修改有时默认gopath可能在C盘,重装系统后,下载的包会丢失,这时我们执行命令,修改到其它盘即可setgopath=D:\code\go创建项目时,最好将项目放......
  • DifferenceOfDoc&Swagger
    DifferenceofDoc&SwaggerLinkDochttp://172.30.5.12:8081/bankelink/doc.htmlSwaggerhttp://172.30.5.12:8081/bankelink/swagger-ui.htmlDifference后缀swag......
  • swagger2的常用注解,传递参数的注意使用方法
    背景介绍:刚开始的时候,在controller层使用@RequestParam的时候,发现这个参数是必须要输入值的,但是我们有时候必须查询的时候允许参数为空,使用这个注解就不行了。在集成了swagg......
  • HDU:1091 的 python3 和 golang 实现
    python3defhdu_1091():whileTrue:s=input("input")s1=s.split("")ifs1[0]=="0"ands1[1]=="0":break......
  • Spring Boot MongoDB How to remove _class from spring data mongodb collection
    摘要:在使用SpringBoot整合Mongodb的过程中,在做insert对象的时候,在Collection中会出现一个_class字段属性,出现这个问题的原因是在调用mongoTemplate的insert方法时,spring-......