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
相关推荐
stark张宇5 天前
微服务架构必备:Gin + gRPC + Consul + Nacos + GORM 打造用户服务
微服务·gin·grpc
刀法如飞8 天前
一款Go语言Gin框架MVC脚手架,满足大部分场景
go·mvc·gin
花酒锄作田9 天前
Gin 框架中的规范响应格式设计与实现
golang·gin
源代码•宸12 天前
简版抖音项目——项目需求、项目整体设计、Gin 框架使用、视频模块方案设计、用户与鉴权模块方案设计、JWT
经验分享·后端·golang·音视频·gin·jwt·gorm
lisypro116 天前
gin-vue-admin项目使用命令行进行启动
前端·vue.js·golang·gin
草根大哥22 天前
AI编程实践-homex物业管理平台(Go + Vue3 + MySQL 多租户落地)
mysql·golang·vue·ai编程·gin·物业管理系统·多租户
小高Baby@1 个月前
Go中常用字段说明
后端·golang·gin
码界奇点1 个月前
基于Gin与GORM的若依后台管理系统设计与实现
论文阅读·go·毕业设计·gin·源代码管理
迷迭香与樱花1 个月前
Gin 框架
go·gin
席万里1 个月前
基于Go和Vue快速开发的博客系统-快速上手Gin框架
vue.js·golang·gin