04d920aa9220eae49097be5fbb6e568122c3000d
RelationshipManagement-backend
基于 Gin 框架的分层架构后端项目
项目结构
RelationshipManagement-backend/
├── main.go # 应用入口
├── go.mod # Go 模块依赖
├── config/ # 配置层
│ └── config.go # 配置管理
├── model/ # 数据模型层
│ └── user.go # 用户模型
├── dao/ # 数据访问层 (Data Access Object)
│ ├── db.go # 数据库连接
│ └── user_dao.go # 用户数据访问
├── service/ # 业务逻辑层
│ └── user_service.go # 用户服务
├── handler/ # 处理器层 (Controller)
│ └── user_handler.go # 用户处理器
├── router/ # 路由层
│ └── router.go # 路由配置
└── middleware/ # 中间件
├── cors.go # 跨域中间件
├── logger.go # 日志中间件
└── recovery.go # 恢复中间件
架构说明
分层架构
-
Router 层 (
router/)- 负责路由配置和请求分发
- 将 HTTP 请求路由到对应的 Handler
-
Handler 层 (
handler/)- 处理 HTTP 请求和响应
- 参数验证和绑定
- 调用 Service 层处理业务逻辑
-
Service 层 (
service/)- 业务逻辑处理
- 数据验证和业务规则
- 调用 DAO 层进行数据操作
-
DAO 层 (
dao/)- 数据访问对象
- 数据库 CRUD 操作
- 数据库连接管理
-
Model 层 (
model/)- 数据模型定义
- 数据库表结构映射
-
Config 层 (
config/)- 配置管理
- 环境变量读取
-
Middleware 层 (
middleware/)- 全局中间件
- CORS、日志、错误恢复等
环境配置
通过环境变量配置(可选,有默认值):
SERVER_PORT: 服务器端口(默认: 8080)GIN_MODE: Gin 模式(debug/release/test,默认: debug)DB_HOST: 数据库主机(默认: localhost)DB_PORT: 数据库端口(默认: 3306)DB_USER: 数据库用户(默认: root)DB_PASSWORD: 数据库密码(默认: 空)DB_NAME: 数据库名称(默认: relationship_db)
运行项目
- 安装依赖:
go mod tidy
-
配置数据库(可选,修改环境变量或代码中的默认值)
-
运行项目:
go run main.go
- 访问健康检查接口:
GET http://localhost:8080/health
API 接口
用户相关接口
POST /api/users- 创建用户GET /api/users- 获取用户列表(支持分页)GET /api/users/:id- 根据ID获取用户PUT /api/users/:id- 更新用户DELETE /api/users/:id- 删除用户
依赖说明
- gin: Web 框架
- gorm: ORM 框架
- mysql: MySQL 数据库驱动
- logrus: 日志库
开发建议
- 添加新的业务模块时,按照相同的分层结构创建文件
- 在
dao/db.go的AutoMigrate()函数中添加新模型的自动迁移 - 根据实际需求调整中间件和配置
- 生产环境建议使用配置文件(如 YAML、JSON)替代环境变量
Languages
Go
100%