ByteNoteByteNote

字节笔记本

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 缓存:缓存支持

基本信息

技术栈

技术用途
Go主要开发语言 (99.0%)
MySQL数据库
Redis缓存
GinWeb 框架
GormORM
SwaggerAPI 文档
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-example

2. 配置环境

确保已安装 MySQL 和 Redis。

3. 运行服务

bash
go run main.go

服务将在 http://localhost:8000 启动。

API 端点

方法路径功能
GET/auth认证
GET/swagger/*anySwagger 文档
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 开发的开发者来说,这是一个很好的参考项目。

分享: