pastebin/register/router.go
2023-10-15 21:30:40 +08:00

38 lines
908 B
Go

package register
import (
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
"gitter.top/coco/coco"
"pastebin/api_services/v1"
"pastebin/config"
)
type Router struct{}
func NewRouter() *Router {
return &Router{}
}
// Register 注册路由
func (receiver *Router) Register() error {
cfg := config.Get()
// 从这里开始实例化路由注册器
var register = coco.NewRegister()
register.DefaultRouter(coco.WithListenAddress(cfg.ServerListen),
coco.WithGinMode(gin.ReleaseMode), coco.WithCors(), coco.WithRecovery())
register.RegisterStruct(&api_servicesv1.PastebinService{})
_ = register.PreRun(func() error {
engine := register.RawEngine()
engine.Static("/assets", "./webui/dist/assets")
engine.NoRoute(func(ctx *gin.Context) {
ctx.File("./webui/dist/index.html")
})
return nil
})
logrus.Infof("api server: http://%s", cfg.ServerListen)
register.Run()
return nil
}