【协作提效 Go - gin ! swagger】

什么是swagger

Swagger 是一个用于设计、构建、记录和使用 RESTful Web 服务的工具集。它的主要作用包括:

  1. API 文档生成:Swagger 可以自动生成详细的 API 文档,包括每个端点的请求和响应格式、参数、状态码等。这使得开发者和用户可以轻松理解和使用 API。
  2. API 测试:Swagger 提供了一个交互式的界面(Swagger UI),用户可以直接在浏览器中测试 API,而无需编写额外的客户端代码。
  3. API 设计:Swagger 支持 API 的设计和规范定义,开发者可以使用 Swagger 定义 API 的结构和行为,然后生成相应的文档。
  4. 一致性和标准化:通过使用 Swagger,团队可以确保 API 的设计和实现符合一致的标准和规范,从而提高代码质量和可维护性。
  5. 协作:Swagger 提供了一个统一的 API 描述格式(OpenAPI Specification),使得开发团队、测试团队和文档团队可以更好地协作。

而对于我们的研发团队来说,swagger可以清晰的定义接口,即是代码也是文档,大大提升了前后端沟通的效率,团队内协作的效率!

而Go - Gin框架支持Swagger,下面一步一步来看下如何使用 swaggo/gin-swagger库来生成和展示接口文档。

步骤

步骤 1:安装依赖

首先,安装依赖

安装swag CLI工具

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

安装 gin-swagger

复制代码
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files

步骤 2:初始化项目

创建一个新的Gin项目或在现有项目中添加Swagger支持。

复制代码
go mod init ${your-project-name}

步骤 3:添加注释

在你的代码中添加Swagger注释。例如:

复制代码
package main

import (
	"go-gin-swagger-demo/docs"
	"net/http"

	"github.com/gin-gonic/gin"
	swaggerfiles "github.com/swaggo/files"
	ginSwagger "github.com/swaggo/gin-swagger"
)

// @BasePath /api/v1

// PingExample godoc
// @Summary ping example
// @Schemes
// @Description do ping
// @Tags example
// @Accept json
// @Produce json
// @Success 200 {string} Helloworld
// @Router /example/helloworld [get]
func Helloworld(g *gin.Context) {
	g.JSON(http.StatusOK, "helloworld")
}

// @Tags example
// @Accept json
// @Produce json
// @Success 200 {object} map[string]string
// @Router /example/hi [get]
func Hi(c *gin.Context) {
	c.JSON(200, gin.H{
		"message": "hi",
	})
}

func main() {
	r := gin.Default()
	docs.SwaggerInfo.BasePath = "/api/v1"

	v1 := r.Group("/api/v1")
	{
		eg := v1.Group("/example")
		{
			eg.GET("/helloworld", Helloworld)
			eg.GET("/hi", Hi)
		}
	}
	r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
	r.Run(":8080")

}

步骤 4:生成Swagger文档

由于swag没被安装到全局,先查看swag所在位置

复制代码
go env GOPATH

运行swag init命令生成Swagger文档:

复制代码
${go env GOPATH}/swag init

这将生成docs目录,其中包含Swagger文档。

步骤 5:运行项目

运行你的Gin项目:

复制代码
go run main.go

然后在浏览器中访问http://localhost:8080/swagger/index.html,你将看到Swagger UI。

效果展示

通过这些步骤,你可以在Gin项目中集成Swagger,并生成和展示API文档。

相关推荐
brzhang4 分钟前
我写了个脚本,让AI每天自动看完热榜、写稿、配乐,还用我的声音读出来
前端·后端·架构
bobz96530 分钟前
vscode 使用 trunk code
后端
天天摸鱼的java工程师33 分钟前
你如何处理一个高并发接口的线程安全问题?说说你做过的优化措施
java·后端
JohnYan44 分钟前
Bun技术评估 - 11 Websocket
javascript·后端·bun
HEY_FLYINGPIG1 小时前
【FLASK】FLASK应用中的多用户并行登录与加密
后端·python·flask
fydw_7151 小时前
Flask-login 处理授权逻辑
后端·python·flask
ZHOU_WUYI1 小时前
Flask 动态模块注册
后端·python·flask
全干engineer1 小时前
Web3-Web3.js核心操作:Metamask、合约调用、事件订阅全指南
开发语言·javascript·web3·区块链·智能合约
Micro麦可乐1 小时前
最新Spring Security实战教程(十八)安全日志与审计:关键操作追踪与风险预警
java·spring boot·后端·安全·spring·安全审计
刘一说1 小时前
资深Java工程师的面试题目(六)数据存储
java·开发语言·数据库·面试·性能优化