rest - 如何从其他包中导入子路由
问题描述
而不是在 main() 下编写每条路由,例如
func main() {
e := echo.New()
e.GET("/api", sayHello)
e.GET("/api/music", getMusic)
e.GET("/api/user/:id", getDetail)
e.POST("/api/user", addUser)
// ...
}
如何从名为 的文件中导入这些所有子路由api.go
,并在主函数中使用这些子路由?如同
import "./API"
func main() {
e := echo.New()
e.UseSubroute(API.Routes) // <-- similar to this
// ...
}
解决方案
您可以做的是使用echo.Group
并将其传递给api
包,并在那里初始化路由处理程序。
package api
import (
"github.com/labstack/echo"
)
func UseSubroute(group *echo.Group) {
group.GET("/", sayHello)
group.GET("/music", getMusic)
group.GET("/user/:id", getDetail)
group.POST("/user", addUser)
}
主要是你可以导入你的api
包。
package main
import (
"github.com/labstack/echo"
"your-repo/path-to/api" // your api package
)
func main() {
e := echo.New()
apiGroup := e.Group("/api")
api.UseSubroute(apiGroup)
// ...
}
推荐阅读
- google-apps-script - 如果前 10 列重复,则删除 Google 表格行的 Google 脚本
- android-fragments - 如何用动态内容约束 ScrollView?
- python - 从 pandas 或 dask 中的数据库表中读取大数据
- kubernetes - 每个功能分支部署的新 K8s 命名空间是一个好习惯吗?
- python - PANDAS:将 2 行 df 转换为单行多级列 df
- python - BeautifulSoup 和请求模块 NoneType 错误
- node.js - 如何将 Google oAuth 与 Node.js 后端和 Angular 前端一起使用?
- mysql - 更改字符集后无法添加外键约束
- c++ - 从弱指针创建共享指针是安全/不好的做法吗
- oracle - Go lang 连接到 Oracle 9i(使用 go-oci8)