外观
Project 01 — Go REST API
项目目标
使用 Go 构建可供 Vue 前端调用的 REST API,通过连续两个阶段把内存版服务演进为 PostgreSQL 持久化服务。
启动阶段:Phase 03 — Go Web
完成阶段:Phase 04 — Database
当前状态:未开始
在完成 Phase 03 的 net/http、Handler 和 REST API 基础前,不提前编写项目业务代码。
Phase 03 里程碑 — 可运行的内存 API
- 使用
net/http实现服务,不先依赖 Web 框架 - 提供用户与项目的基础 CRUD 接口
- 使用 JSON 作为请求和响应格式
- 实现路由、参数校验、统一错误响应和基础 Middleware
- 使用
httptest覆盖主要 Handler 的成功与失败路径 - 编写 API 使用说明和示例请求
验收标准
go test ./...全部通过- 服务可以独立启动并正常关闭
- CRUD 接口状态码和 JSON 结构一致
- 非法参数、资源不存在等错误具有明确响应
- Vue 或命令行客户端能够完成一次完整 CRUD 流程
Phase 04 里程碑 — PostgreSQL 持久化
- 使用 PostgreSQL 设计用户、项目及关联关系
- 使用
database/sql实现 Repository - 正确配置连接池、Context 和事务
- 为关键字段建立约束和索引
- 增加基础认证;认证方案在进入该里程碑时确定
- 提供数据库初始化与本地运行说明
验收标准
- 重启服务后数据仍然存在
- Repository 与 HTTP 层职责分离
- 事务失败时能够正确回滚
- 数据库错误不会泄露内部实现信息
- 集成测试覆盖至少一条完整的数据读写路径
暂不包含
- 微服务拆分
- Kubernetes
- 消息队列
- 复杂权限系统