так что это может быть моим ограниченным пониманием Голанга, поскольку я все еще изучаю его.Но я встроил работающую функцию маршрутизатора в основной пакет / файл в моем приложении, передавая в контексте, и это прекрасно работает.
Однако, когда я переместил это в свой собственный пакет, он перестал работать, я догадываюсьэто как-то связано с тем, что контекст не передается из основного пакета?
Итак, это работает:
func router(e *echo.Echo) {
addresController := &controllers.AddressController{
config.NewController(),
}
//Address Routes
address := e.Group("/address")
address.GET("/all", func(c echo.Context) error {
return addresController.AddressList(c)
})
}
Загрузка в основной функционал, например,
func main() {
//Build The Echo Framework
e := echo.New()
//Load Router Function
router(e)
//Start Echo Web Server
e.Logger.Fatal(e.Start(":5060"))
}
Но когда я перехожу к этому, используя это в основной функции,
router.BuidlRoutes(e)
и помещая все маршруты адресов в функцию BuildRoutes
, я получаю пустые результаты.
Спасибо,
ОБНОВЛЕНИЕ
моя BuildRouter
функция в соответствии с просьбой:
func BuidlRoutes(e *echo.Echo) {
addresController := &controllers.AddressController{
config.NewController(),
}
//Address Routes
address := e.Group("/address")
address.GET("/all", func(c echo.Context) error {
return addresController.AddressList(c)
})
address.GET("/id/:id", func(c echo.Context) error {
return addresController.AddressByID(c)
})
}
и это моя Address Controller Struct
type AddressController struct {
*config.MyController
}
Этот контроллер адресов загружает MyController,
type MyController struct {
*DBSettings
}
func NewController() *MyController {
return &MyController{}
}