Files
lab/go/projects/lyra/README.md
T
labmem 3f16384376 feat(lyra): 启动 HTTP 服务并添加示例接口
- 注册 GET /hello,使用统一响应结构并添加路由回归测试
- 使用 lyra.toml 配置 Gin 模式与监听地址,处理启动错误
- 明确 handler/service 业务分包约定并同步文档
2026-10-17 10:32:44 +08:00

2.0 KiB
Raw Blame History

Lyra

链接、分类、设置等资源的后端服务(规划中)。目标结构与技术选型见 docs/architecture.md。

当前状态

已搭建目录骨架、程序入口 main.go 与 HTTP 通路:启动时加载 etc/lyra.toml, 注册 GET /hello(经 httpx.OK 输出响应)并启动 HTTP 服务;路由注册配有 httptest 回归测试,不监听实际端口、不连接数据库。各内部目录的职责与依赖 约束记录在 AGENTS.md 中。数据库访问、迁移文件与真实业务逻辑均未实现; 架构文档中标注“待新增”的文件(links 等)尚未创建。

目录职责

路径 职责
cmd/lyra/ 程序入口:启动、依赖组装、退出清理
internal/api/ HTTP 请求/响应 DTO,按资源分文件(平铺)
internal/config/ 配置定义与加载
internal/postgres/ PostgreSQL 连接(pgx stdlib,待实现)
internal/router/ 路由注册、项目路径前缀(router.go,平铺)
internal/handler/ 参数绑定、DTO 转换、响应输出;可按业务分包,服务级简单接口平铺在根包
internal/service/ 业务规则、事务协调;可按业务分包,服务级简单接口平铺在根包
internal/model/ 数据结构定义与数据访问(SQL,平铺)
internal/httpx/ 公共响应辅助
migrations/ Goose SQL 迁移文件(暂无)
docs/ 架构与计划文档

运行

Go 命令在本目录(module 根)下执行;配置路径 etc/lyra.toml 按当前工作目录 解析,换目录运行会找不到配置:

go run ./cmd/lyra   # 启动 HTTP 服务,监听地址与端口见 etc/lyra.toml
go test ./...       # 含路由回归测试

配置中的 app.env 直接传给 gin.SetMode,仅支持 debug/release/test。

技术栈

已引入 Gin 与 Viper(读取 TOML 配置),go.sum 已生成; PostgreSQL、Squirrel + sqlx(pgx stdlib 驱动)与 Goose 为目标选型,随后续功能引入。