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地址改成自己的,我们就会看到访问如下

 到这里接口文档就生成了,如果接收参数也可以在里面测试。本文就到这里,谢谢大家

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐