go 集成swagger 在线接口文档

安装swaggo

Go 复制代码
go install github.com/swaggo/swag/cmd/swag@latest

编写swag

Go 复制代码
import (
	"github.com/gin-gonic/gin"
	"goWeb/internal/service"
	"goWeb/model/response"
)

// UserRouter 路由
func UserRouter(ctx *gin.RouterGroup) {
	ctx.GET("/login", login)
	ctx.POST("/addUser", addUser)
	ctx.GET("/delUser/:id", delUser)
	ctx.GET("/getUser", getUser)
	ctx.GET("/pageUser", pageUser)
}

// Login
//
//	@Description	Java学习Golang开发
//	@Tags			user接口
//	@Router			/user/login [get]
func login(ctx *gin.Context) {
	response.Success(ctx, service.Login())
}

// @Description	添加用户信息
// @Tags		user接口
// @Param		user	body		model.User	true	"用户实体"
// @Success		200		{string}	string			"success"
// @Failure		500		{string}	string			"fail"
// @Router			/user/addUser [post]
func addUser(ctx *gin.Context) {
	response.Success(ctx, service.AddUser(ctx))
}

// @Description	删除用户
// @Tags		user接口
// @Param		id	path		int	true	"用户id"
// @Router			/user/delUser/{id} [get]
func delUser(ctx *gin.Context) {
	service.DelUser(ctx)
	response.Ok(ctx)
}

// @Description	删除用户
// @Tags		user接口
// @Param		id	query		int	true	"用户id"
// @Router			/user/getUser [get]
func getUser(ctx *gin.Context) {
	response.Success(ctx, service.GetUser(ctx))
}

// @Description	分页查询用户数据
// @Tags		user接口
// @Param page query int false "当前页码"
// @Param pageSize query int false "每页数量"
// @Router			/user/pageUser [get]
func pageUser(ctx *gin.Context) {
	response.Success(ctx, service.PageUser(ctx))
}

启动类

Go 复制代码
import (
	swaggerFiles "github.com/swaggo/files"     // swagger embed files
	ginSwagger "github.com/swaggo/gin-swagger" // gin-swagger middleware
	_ "goWeb/docs"
)

//	@title			Swagger Example API
//	@version		1.0
//	@description	go web 框架gin集成swagger.
//	@termsOfService	http://swagger.io/terms/

//	@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

// @externalDocs.description	OpenAPI
// @externalDocs.url			https://swagger.io/resources/open-api/
func main() {}

初始化doc

复制代码
swag init

访问

http://127.0.0.1:8081/swagger/index.html#/

更多

请探索官网

swag package - github.com/swaggo/swag/v2 - Go Packages

相关推荐
yinhezhanshen4 分钟前
理解rust里面的copy和clone
开发语言·后端·rust
uhakadotcom11 分钟前
Helm 简介与实践指南
后端·面试·github
Jtti20 分钟前
PHP在Debian环境上的并发处理能力如何
开发语言·debian·php
栗筝i22 分钟前
Spring 核心技术解析【纯干货版】- XIX:Spring 日志模块 Spring-Jcl 模块精讲
java·后端·spring
时光追逐者24 分钟前
在 Blazor 中使用 Chart.js 快速创建数据可视化图表
开发语言·javascript·信息可视化·c#·.net·blazor
独好紫罗兰26 分钟前
洛谷题单3-P5718 【深基4.例2】找最小值-python-流程图重构
开发语言·python·算法
小天努力学java29 分钟前
【面试题】如何用两个线程轮流输出0-200的值
java·开发语言
云边有个稻草人32 分钟前
【C++】第八节—string类(上)——详解+代码示例
开发语言·c++·迭代器·string类·语法糖auto和范围for·string类的常用接口·operator[]
夏天想1 小时前
vant4+vue3上传一个pdf文件并实现pdf的预览。使用插件pdf.js
开发语言·javascript·pdf·vant
惊鸿一博1 小时前
c++ &&(通用引用)和&(左值引用)区别
开发语言·c++