-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrouter.go
executable file
·34 lines (30 loc) · 892 Bytes
/
router.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package main
import (
"Hertz-Scaffold/biz/constant"
"Hertz-Scaffold/biz/utils/common"
"Hertz-Scaffold/conf"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/app/server"
"strconv"
)
func InitRouter(middlewares ...app.HandlerFunc) *server.Hertz {
engine := server.New(server.WithHostPorts("[::]:" + strconv.Itoa(conf.AppConf.GetBaseInfo().ServicePort)))
engine.Use(middlewares...) // 通用中间件
defaultRouter := engine.Engine
defaultRouter.Use()
adminRouter := engine.Engine
adminRouter.Use()
devopsRouter := engine.Engine
devopsRouter.Use()
for _, v := range common.GlobalApiList {
switch v.Model {
case constant.DefaultAPIModule:
common.EngineRegister(defaultRouter, v)
case constant.DevOpsAPIModule:
common.EngineRegister(devopsRouter, v)
case constant.AdminApIModel:
common.EngineRegister(adminRouter, v)
}
}
return engine
}