1 回答
TA贡献1818条经验 获得超7个赞
我希望将 api 的路由放在不同的文件中,例如:routes/users.go,然后将其包含在“main”函数中并注册这些路由。
这是可能的,只需让包中的文件routes声明接受实例的函数*echo.Echo并让它们注册处理程序即可。
// routes/users.go
func InitUserRoutes(e *echo.Echo) {
e.GET("users", UserController.CreateUser)
e.POST("users", UserController.UpdateUser)
e.DELETE("users", UserController.DeleteUser)
}
// routes/posts.go
func InitPostRoutes(e *echo.Echo) {
e.GET("posts", PostController.CreatePost)
e.POST("posts", PostController.UpdatePost)
e.DELETE("posts", PostController.DeletePost)
}
然后在main.go
import (
"github.com/whatever/echo"
"package/path/to/routes"
)
func main() {
e := echo.New()
routes.InitUserRoutes(e)
routes.InitPostRoutes(e)
// ...
}
请注意,这些InitXxx函数需要以大写字母开头,而不是您的initRoutes示例中第一个字母为小写。这是因为首字母小写的标识符是unexported 的,这使得它们无法从自己的包外部访问。换句话说,为了能够引用导入的标识符,您必须通过使其以大写字母开头来导出它。
更多信息请参见: https: //golang.org/ref/spec#Exported_identifiers
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报