字
字节笔记本
2026年2月19日
go-gin-example:功能完善的 Go + Gin 框架示例项目
本文介绍 go-gin-example,一个功能完善的 Go + Gin 框架示例项目,包含 RESTful API、JWT 认证、Swagger 文档等完整功能。
go-gin-example 简介
go-gin-example 是由 EDDYCJY 开发的开源项目,是一个功能完善的 Go + Gin 框架示例。它展示了如何构建企业级的 RESTful API,包含 JWT 认证、Swagger 文档、日志记录等完整功能。该项目在 GitHub 上拥有 7.2k stars 和 1.6k forks,采用 MIT 许可证。
核心定位:An example of gin contains many useful features
核心特性
- RESTful API:标准的 RESTful 接口设计
- Gorm ORM:数据库操作
- Swagger 文档:自动生成 API 文档
- Logging 日志:完善的日志记录
- Jwt-go 认证:JWT 身份认证
- Gin 框架:高性能 Web 框架
- Graceful restart/stop:优雅重启和停止
- App configurable:配置化管理
- Cron 定时任务:定时任务支持
- Redis 缓存:缓存支持
基本信息
- GitHub 仓库:https://github.com/EDDYCJY/go-gin-example
- 星标数:7.2k stars
- Fork 数:1.6k forks
- 许可证:MIT
- 运行端口:8000
技术栈
| 技术 | 用途 |
|---|---|
| Go | 主要开发语言 (99.0%) |
| MySQL | 数据库 |
| Redis | 缓存 |
| Gin | Web 框架 |
| Gorm | ORM |
| Swagger | API 文档 |
| JWT | 认证 |
项目结构
text
go-gin-example/
├── conf/ # 配置文件
├── docs/ # Swagger 文档
├── middleware/jwt/ # JWT 中间件
├── models/ # 数据模型
├── pkg/ # 公共包
├── routers/ # 路由定义
├── runtime/ # 运行时
├── service/ # 业务逻辑
└── vendor/ # 依赖快速开始
1. 克隆仓库
bash
go get github.com/EDDYCJY/go-gin-example
cd $GOPATH/src/go-gin-example2. 配置环境
确保已安装 MySQL 和 Redis。
3. 运行服务
bash
go run main.go服务将在 http://localhost:8000 启动。
API 端点
| 方法 | 路径 | 功能 |
|---|---|---|
| GET | /auth | 认证 |
| GET | /swagger/*any | Swagger 文档 |
| GET/POST/PUT/DELETE | /api/v1/tags | 标签 CRUD |
| GET/POST/PUT/DELETE | /api/v1/articles | 文章 CRUD |
适用场景
- Go Web 开发学习
- RESTful API 设计参考
- 企业级项目模板
- Gin 框架最佳实践
总结
go-gin-example 是一个优秀的 Go Web 开发示例项目,其优势包括:
- 功能完整:涵盖 Web 开发的各个方面
- 结构清晰:项目结构规范,易于理解
- 文档完善:自动生成 Swagger 文档
- 社区认可:7.2k stars,广泛认可
对于学习 Go Web 开发的开发者来说,这是一个很好的参考项目。
分享: