so this might be my limited understanding of Golang, as I am still learning it. But I have built a working router function within the main package / file in my app, passing in the context and that works fine.
However when I moved this to its own package, it stoped working, I am guesting this has something to do with not passing in the context from the main package?
So this works:
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)
})
}
Loading into the main func like so,
func main() {
//Build The Echo Framework
e := echo.New()
//Load Router Function
router(e)
//Start Echo Web Server
e.Logger.Fatal(e.Start(":5060"))
}
But when I move over to this using this in the main func,
router.BuidlRoutes(e)
and putting all the address routes into the BuildRoutes
function I get back empty results.
Thanks,
UPDATE
my BuildRouter
function as asked for:
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)
})
}
and this is my Address Controller Struct
type AddressController struct {
*config.MyController
}
This Address Controller is loading a MyController,
type MyController struct {
*DBSettings
}
func NewController() *MyController {
return &MyController{}
}