如果❤️我的文章有帮助,欢迎评论、关注、点赞。这是对我继续技术创作最大的鼓励。[更多往期文章在我的个人博客] coderdao.github.io/
Gin 生成 Swagger 文档
环境介绍
- 开发环境:windows10 x64
- Golang:1.16
- Gin:1.7.0
安装 Swagger
idel 配置 go mod
由于我已经默认你已经安装 gin 框架
,所以我直接在项目根目录下安装 swag
依赖
go get -u github.com/swaggo/swag/cmd/swag
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
go get -u github.com/alecthomas/template
调用方法注释
Swagger 生成文档原理就是 扫描程序文件中,方法注释。所以在方法上添加规范注释,由为关键
Swagger 标准注释
// AdminLogin godoc
// @Summary 管理员登陆
// @Description 管理员登陆
// @Tags 管理员接口
// @ID /admin_login/login
// @Accept json
// @Produce json
// @Param body body dto.AdminLoginInput true "body" # [值得名称] body [值得类型] [是否必传] "[返回值名称]"
// @Success 200 {object} middleware.Response{data=dto.DemoInput} "success"
// @Router /admin_login/login [post]
func (adminlogin *AdminLoginController) AdminLogin(ctx *gin.Context) {
// 定义传入数据结构
params:=&dto.AdminLoginInput{}
if err:=params.BindValidParam(ctx); err != nil {
middleware.ResponseError(ctx, 1001, err)
return
}
out:=&dto.AdminLoginOutput{Token:params.UserName}
middleware.ResponseSuccess(ctx,out)
}
swagger 设入 Gin router
文件router/route.go
# 加载依赖
import (
"[项目名称]/docs"
"github.com/gin-gonic/gin"
"github.com/swaggo/files"
"github.com/swaggo/gin-swagger"
)
func InitHttpServer() {
var router *gin.Engine
router = gin.Default()
router.Static("/html", "./public")
// 设置 swagger 访问路由
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
router.Run(":" + _const.HTTP_SERVER_PORT)
}
Swagger 生成 API 文档
项目根目录下 命令行
执行命令 swag init
swag init
命令会在项目根目录下生成文件夹 docs
。
访问 swagger 生成文档
项目根目录执行命令 go run main.go
启动网络服务。具体看你的gin 设置服务端口,使用浏览器访问 http://localhost:[设置端口]/swagger/index.html
就可以看到刚才生成的接口文档
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)