回声框架路由器问题?

时间:2018-11-15 08:53:41

标签: go

所以这可能是我对Golang的有限理解,因为我仍在学习。但是我在应用程序的主程序包/文件中构建了一个正常工作的路由器功能,可以传入上下文,并且工作正常。

但是,当我将其移至其自己的程序包时,它停止工作了,我是否认为这与不从主程序包传递上下文有关?

这可行:

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{}
}

0 个答案:

没有答案