gin集成Swagger

gin集成Swagger

1、首先安装 swag 命令行工具:

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

2、添加 Swagger 相关依赖到项目:

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

3、在 main.go 中添加基础配置:

bash 复制代码
package main

import (
    _ "xxx-api/docs"  // 这里会引入即将自动生成的 docs 包
)

// @title           xxx API
// @version         1.0
// @description     xxx统 API 服务
// @termsOfService  http://swagger.io/terms/

// @contact.name   API Support
// @contact.url    http://www.swagger.io/support
// @contact.email  support@swagger.io

// @license.name  Apache 2.0
// @license.url   http://www.apache.org/licenses/LICENSE-2.0.html

// @host      localhost:8080
// @BasePath  /api

// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name Authorization
func main() {
    // ... 现有代码 ...
}

4、修改 routers/router.go,添加 Swagger 路由:

bash 复制代码
package routers

import (
    "github.com/gin-gonic/gin"
    swaggerFiles "github.com/swaggo/files"
    ginSwagger "github.com/swaggo/gin-swagger"
)

func InitRouter(engine *gin.Engine) {
    // ... 现有代码 ...

    // Swagger API 文档
    // 仅在开发环境启用
    if gin.Mode() != gin.ReleaseMode {
        engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
    }
}

5、创建一个初始化 Swagger 的脚本 scripts/swagger.sh:

bash 复制代码
#!/bin/bash

# 生成 swagger 文档
swag init

# 如果文档生成成功,打印访问地址
if [ $? -eq 0 ]; then
    echo "Swagger 文档生成成功!"
    echo "请访问: http://localhost:8080/swagger/index.html"
else
    echo "Swagger 文档生成失败!"
fi
相关推荐
不会聊天真君6473 天前
介绍(gin笔记第一期)
笔记·gin
ZHENGZJM4 天前
Server-Sent Events (SSE) 接口实现
架构·go·gin
ZHENGZJM4 天前
统一响应封装与 API 错误处理
react.js·go·gin
ZHENGZJM4 天前
仓库抓取与内容提取
go·gin
GDAL6 天前
gin.H 深入全面讲解
gin·h
呆萌很6 天前
【Gin】参数处理练习题
gin
GDAL6 天前
gin.Default() 深入全面讲解
golang·go·gin
GDAL7 天前
为什么选择gin?
golang·gin
ZHENGZJM11 天前
Gin 鉴权中间件设计与实现
中间件·gin
ZHENGZJM11 天前
认证增强:图形验证码、邮箱验证与账户安全
安全·react.js·go·gin