基于gin实现swagger文档自动化测试

更多好文 关注
golang技术实验室

1、安装swagger

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

验证

swag -v                                                            
swag version v1.7.0

2、 安装gin-swagger

go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/gin-swagger/swaggerFiles

3、编写swagger注释

// @Tags Base
// @Summary 用户登录
// @Produce  application/json
// @Param data body request.LoginRequest true "用户登录接口"
// @Success 200 {string} string "{"success":true,"data": { "user": { "username": "asong", "nickname": "", "avatar": "" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VybmFtZSI6ImFzb25nIiwiZXhwIjoxNTk2OTAyMzEyLCJpc3MiOiJhc29uZyIsIm5iZiI6MTU5Njg5NDExMn0.uUS1TreZusX-hL3nKOSNYZIeZ_0BGrxWjKI6xdpdO40", "expiresAt": 1596902312000 },,"msg":"操作成功"}"
// @Router /base/login [post]
func login(c *gin.Context)  {}

// @Tags User
// @Summary 用户修改密码
// @Security ApiKeyAuth
// @Produce  application/json
// @Param data body request.ChangePassword true "用户修改密码"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
// @Router /user/setPassword [PUT]
func setPassword(c *gin.Context) {}

4、生成文档

 swag init -o /Users/zhangsan/Documents/GitHub/testCode/swagger/docs

-o 指定文档生成位置

swagger/docs
├── docs.go
├── swagger.json
└── swagger.yaml

在路由注册的地方引入这个docs

/**
 * @Author: zhangsan
 * @Description:
 * @File:  main
 * @Version: 1.0.0
 * @Date: 2021/3/17 上午10:11
 */

package  main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"test/swagger/src"
	"github.com/swaggo/gin-swagger"
	"github.com/swaggo/gin-swagger/swaggerFiles"
	"test/swagger/docs"//需要引入
)

func main() {
	r := gin.Default()
	r.GET("/login", src.Login)
	r.GET("/set-password", src.SetPassword)
	docs.SwaggerInfo.Title = "go-siteExample API"
	docs.SwaggerInfo.Description = "This is a sample server go-site server."
	docs.SwaggerInfo.Version = "1.0"
	docs.SwaggerInfo.Host = fmt.Sprintf("%s:%d", "localhost", 8080)
	docs.SwaggerInfo.BasePath = ""
	r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

	r.Run() // listen and serve on 0.0.0.0:8080
}

设置版本信息等

5、 访问

http://127.0.0.1:8080/docs/index.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6camOW9-1615953385957)(gin-swagger.assets/image-20210317113647157.png)]
更多好文 关注
golang技术实验室

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a...Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值