feat(lyra): 启动 HTTP 服务并添加示例接口

- 注册 GET /hello,使用统一响应结构并添加路由回归测试
- 使用 lyra.toml 配置 Gin 模式与监听地址,处理启动错误
- 明确 handler/service 业务分包约定并同步文档
This commit is contained in:
2026-10-17 10:32:44 +08:00
parent 8b320817ed
commit 3f16384376
12 changed files with 154 additions and 46 deletions
+17 -6
View File
@@ -1,20 +1,31 @@
// Command lyra 是 Lyra 的程序入口,负责启动、依赖组装与退出清理。
//
// 当前仅搭建目录骨架:运行后直接退出,不连接数据库,也不启动 HTTP 服务。
package main
import (
"fmt"
"lyra/internal/config"
"lyra/internal/router"
"github.com/gin-gonic/gin"
)
func main() {
// 加载配置(internal/config)
cfg, err := config.Load("etc/config.toml")
cfg, err := config.Load("etc/lyra.toml")
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", cfg)
// TODO: 组装依赖——建立 PostgreSQL 连接(internal/postgres)、注册路由(internal/router)。
// TODO: 启动 HTTP 服务,并在退出时关闭连接、释放资源。
// TODO: 组装依赖——建立 PostgreSQL 连接(internal/postgres)。
gin.SetMode(cfg.App.Env)
gEngine := gin.Default()
//没有反向代理,在启动前关闭代理信任:
if err := gEngine.SetTrustedProxies(nil); err != nil {
panic(err)
}
router.RegisterRoutes(gEngine)
// TODO: 退出时关闭连接、释放资源。
addr := fmt.Sprintf("%s:%d", cfg.HTTP.Host, cfg.HTTP.Port)
if err := gEngine.Run(addr); err != nil {
panic(err)
}
}