- 定义控制器文件:internal/controller/index.go
package controller
import (
// "github.com/zlsgo/app_core/service"
"github.com/sohaha/zlsgo/znet"
"github.com/sohaha/zlsgo/zdi"
)
type New struct {
// 可选,直接嵌入 service.App
// service.App
// 可选,如果定义会自动注入,方便使用依赖注入功能
di zdi.Injector
// 可选,如果为空则取 结构体 名称作为前缀
// Path string
}
// 必须,该方法在绑定路由之前执行
func (h *Index) Init(r *znet.Engine) error {
// 可以手动绑定路由或者中间件
return nil
}
// 绑定 / 路由,具体规则参考 框架 结构体路由
func (h *Index) Get(r *znet.Context) (any, error) {
return "ok", nil
}
- 在 internal/router.go 内添加上面的结构体
import (
"app/internal/controller"
)
func RegRouter(_ *service.Conf) *[]service.Controller {
return &[]service.Controller{
// 如果有定义 Path 可以直接在这里赋值
&controller.New{},
// ... 其他路由
}