gin框架搭建swagger接口文档
swagger报错可能就是bin目录下没有生成swag.go文件,这时候需要找到gopath的目录“bin\pkg\mod\github.com\swaggo\swag@v1.16.1\cmd\swag”,执行 “go build ”将生成的swage.go文件复制到gopath的bin目录下。通过注解模板后重新执行swag init 初始化doc目录下文件我们就可以看到json文件如下方样子。改
1.安装ginSwagger
https://pkg.go.dev/github.com/swaggo/
搜索swaggo找到如下图
执行命令
go get -u github.com/swaggo/swag/cmd/swag
下载ginSwagger之后执行
swag init //执行成功后会根目录会创建doc目录
swagger报错可能就是bin目录下没有生成swag.go文件,这时候需要找到gopath的目录“bin\pkg\mod\github.com\swaggo\swag@v1.16.1\cmd\swag”,执行 “go build ”将生成的swage.go文件复制到gopath的bin目录下
在去gin项目的根目录下执行swag init 这时候就会生成了doc目录
初始化以后执行下面两swag依赖安装
//安装如下swag依赖
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
改造route文件,我们需要将doc目录加载道路有,生成接口文档后才可以访问
/**
* Created by GoLand
* User: lingm
* Date: 2023/5/29
* Time: 下午 02:59
* Author: 现在的努力是为了小时候吹过的NB
* Atom: 小白从不写注释!!!
*/
package router
import (
"github.com/gin-gonic/gin"
swaggerfiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
"go-study/docs"
"go-study/service"
)
func Router() *gin.Engine {
r := gin.Default()
docs.SwaggerInfo.BasePath = ""
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
r.GET("/index", service.GetIndex)
r.GET("/user/index", service.GetUserList)
return r
}
测试加载的注解生成接口文档,在service文件如下
// GetIndex
// @Tags 首页
// @Success 200 {string} welcome
// @Router /index [get]
func GetIndex(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "欢迎来到首页",
})
}
通过注解模板后重新执行swag init 初始化doc目录下文件我们就可以看到json文件如下方样子
重新启动gin框架访问url
http://localhost:8081/swagger/index.html
端口号和ip地址改成自己的,我们就会看到访问如下
到这里接口文档就生成了,如果接收参数也可以在里面测试。本文就到这里,谢谢大家
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)