2024-11-16 10:31:47 +08:00
|
|
|
# Book Api Server
|
2024-11-16 11:03:04 +08:00
|
|
|
|
|
|
|
从一个简单的项目开启项目之旅
|
|
|
|
+ 项目介绍: Gin + GORM 开发简单的Book API Server
|
|
|
|
+ 从写脚本开始 与 学会合理使用包来组织你的项目工程
|
|
|
|
+ 使用mvc的模式来 组织你的业务代码
|
|
|
|
+ 完善项目: 项目日志, Api返回与业务异常
|
|
|
|
|
|
|
|
详细说明:
|
|
|
|
|
|
|
|
+ 项目课整体介绍
|
|
|
|
+ 软件开发生命周期流程介绍
|
|
|
|
+ 项目介绍: Gin + GORM 开发简单的API Server
|
|
|
|
+ 如何快速使用Gin开发Api Server
|
|
|
|
+ 如何使用gorm访问数据库
|
|
|
|
+ 如何管理你项目中的配置
|
|
|
|
+ 如何使用MVC模式编写你的业务控制器
|
|
|
|
+ 如何使用zerolog打印程序日志
|
|
|
|
+ 如何为你程序提供统一的Api Response
|
|
|
|
+ 如何自定义业务异常
|
2024-11-16 12:11:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
## 项目准备
|
|
|
|
|
2024-11-16 16:00:55 +08:00
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
## v2 版本
|
|
|
|
|
|
|
|
```go
|
|
|
|
// 初始化数据库, 能过与数据库交互的 连接池对象: db
|
|
|
|
func setupDatabase() *gorm.DB {
|
|
|
|
dsn := "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local"
|
|
|
|
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|
|
|
if err != nil {
|
|
|
|
panic("failed to connect database")
|
|
|
|
}
|
|
|
|
db.AutoMigrate(&Book{}) // 自动迁移
|
|
|
|
return db.Debug()
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 剥离配置
|
|
|
|
|
|
|
|
剥离程序配置,让程序可以通过外部加载配置: config 包: 用来管理程序的配置
|