Go + Gin 的现代化 RESTful API 项目模板。
| 组件 | 版本 | 说明 |
|---|---|---|
| Go | 1.26 | 语言 |
| Gin | 1.12.0 | Web 框架 |
| Ent | 0.14.6 | ORM 框架 |
| Docker Compose | 2 | 容器编排 |
| Caddy | 2 | Web 服务与反向代理 |
| Valkey | 9.1.0-trixie | 缓存 |
| PostgreSQL | 18.4-trixie | 数据库 |
单个空数据 null, 列表空数据 []
{
"code": 0,
"message": "ok",
"data": null
}
{
"code": 0,
"message": "ok",
"data": []
}
{
"code": 0,
"message": "ok",
"data": [],
"meta": {
"total": 0,
"page": 1,
"size": 10
}
} 200
400
401
403
404
405
500直接输出堆栈错误,打开 Recovery 的两行注释
.
├── app/ # 业务代码
├── cmd/ # 程序入口
├── bootstrap/ # 启动初始化
├── configs/ # 配置定义
├── internal/ # 内部实现
├── router/ # 路由注册
├── pkg/ # 公共组件
├── runtime/ # 运行时目录
├── docker/ # Docker 配置和数据, prod 环境不要放项目中
├── docker-compose.yml # prod 环境不要放项目中
└── README.md
docker network create nova-network
docker network create common-network示例:
environment:
TZ: Asia/Shanghai
APP_ENV: local
DB_USER: postgres
DB_PASSWORD: 123123go get entgo.io/ent
go get github.com/jackc/pgx/v5docker compose up -dgo generate ./internal/ent- 日志系统
- Ent ORM
- 验证类
- JWT 双 Token
- MinIO
- WebSocket