feat(lyra): 启动 HTTP 服务并添加示例接口
- 注册 GET /hello,使用统一响应结构并添加路由回归测试 - 使用 lyra.toml 配置 Gin 模式与监听地址,处理启动错误 - 明确 handler/service 业务分包约定并同步文档
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user