1 Star 0 Fork 0

player1 / restful-api-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
start.go 1.80 KB
一键复制 编辑 原始数据 按行查看 历史
package cmd
import (
"github.com/infraboard/mcube/logger/zap"
"github.com/spf13/cobra"
_ "github.com/go-sql-driver/mysql"
"gitee.com/player1111/restful-api-demo.git/apps"
"gitee.com/player1111/restful-api-demo.git/conf"
"gitee.com/player1111/restful-api-demo.git/core"
)
var confFile string
/*var confType string
var confETCD string*/
// StartCmd 通过cli方式将服务启动起来
var StartCmd = &cobra.Command{
Use: "start",
Short: "启动API",
Long: "启动API",
RunE: func(cmd *cobra.Command, args []string) error {
// 1、加载配置文件
err := conf.LoadConfigFromToml(confFile)
if err = LoadGlobalLogger(); err != nil {
return err
}
if err != nil {
return err
}
err = zap.DevelopmentSetup()
if err != nil {
return err
}
// 2、加载HostService实体类
//service := impl.NewHostServiceImp()
// 初始化IOC的服务实例,让service去依赖IOC
//apps.HostService = impl.NewHostServiceImp() // 这里还是通过start来手动创建实例到的IOC
// IOC: 这里就可以去掉了,已经在imp/mysql中实现了自动接口初始化
// 3、通过host api handler提供http restful接口
// api := http.NewHandler(service)
apps.InitImpl()
//http.Init()
/* // 解除Handler与service之间的传递关系
api := http.NewHandler()
// 让Handler也从IOC中获取依赖的apps.HostService
api.Config()*/
// 已迁移至httpservice
//g := gin.Default()
//http.Registry2Gin(g)
// 4、生成一个gin router传给registry,并启动gin
//api.Registry(g)
//return g.Run(conf.C().App.HttpAddr())
svc := core.NewManager()
// 监听信号
go svc.WaitStop()
return svc.Start()
},
}
func init() {
StartCmd.PersistentFlags().StringVarP(&confFile, "config", "c", conf.GlobalConfig, "configPath")
RootCmd.AddCommand(StartCmd)
}
Go
1
https://gitee.com/player1111/restful-api-demo.git
git@gitee.com:player1111/restful-api-demo.git
player1111
restful-api-demo
restful-api-demo
19fd67857982

搜索帮助