【协作提效 Go - gin ! swagger】
创始人
2024-11-05 08:38:42
0

在这里插入图片描述

什么是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文档。

相关内容

热门资讯

6分钟发现!小吆干瞪眼有挂吗,... 6分钟发现!小吆干瞪眼有挂吗,德州wepower切实是有挂,解说技巧(有挂工具);暗藏猫腻,小编详细...
3分钟俱乐部!wepoker脚... 3分钟俱乐部!wepoker脚本下载,wepoker免费脚本弱密码,详细教程(有挂安装)是一款可以让...
解密关于!全民雀神怎么开挂(透... 解密关于!全民雀神怎么开挂(透视辅助)透视辅助挂(2021已更新)(哔哩哔哩);1、打开软件启动之后...
交流学习经验!网易棋牌可以作弊... 交流学习经验!网易棋牌可以作弊不(辅助挂)外挂透明挂辅助下载(2024已更新)(哔哩哔哩)1、首先打...
十分钟了解!夜猫麻将软件,智星... 十分钟了解!夜猫麻将软件,智星德州菠萝其实有挂,解说技巧(有挂实操);暗藏猫腻,小编详细说明夜猫麻将...
七分钟开脚本!wepoker好... 七分钟开脚本!wepoker好友助力码,wepoker透视挂底牌,详细教程(有挂安装)1、这是跨平台...
必备科技!中至麻将可以设置输赢... 必备科技!中至麻将可以设置输赢吗(透视)外挂透视辅助工具(2022已更新)(哔哩哔哩);1、打开软件...
热点推荐!太浪棋牌辅牌器购买(... 热点推荐!太浪棋牌辅牌器购买(透视辅助)外挂透明挂辅助app(2025已更新)(哔哩哔哩)1、这是跨...
十分钟辅助挂!八闽状元郎麻将秘... 十分钟辅助挂!八闽状元郎麻将秘籍,aapOker原来存在有挂,插件教程(有挂黑科技)1、八闽状元郎麻...
4分钟作弊视频!wepoker... 4分钟作弊视频!wepoker怎么看底牌,htx矩阵wepoker辅助,详细教程(有挂技巧)是一款可...