1 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
我希望將 api 的路由放在不同的文件中,例如:routes/users.go,然后將其包含在“main”函數(shù)中并注冊(cè)這些路由。
這是可能的,只需讓包中的文件routes聲明接受實(shí)例的函數(shù)*echo.Echo并讓它們注冊(cè)處理程序即可。
// 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)
// ...
}
請(qǐng)注意,這些InitXxx函數(shù)需要以大寫字母開頭,而不是您的initRoutes示例中第一個(gè)字母為小寫。這是因?yàn)槭鬃帜感懙臉?biāo)識(shí)符是unexported 的,這使得它們無(wú)法從自己的包外部訪問(wèn)。換句話說(shuō),為了能夠引用導(dǎo)入的標(biāo)識(shí)符,您必須通過(guò)使其以大寫字母開頭來(lái)導(dǎo)出它。
更多信息請(qǐng)參見: https: //golang.org/ref/spec#Exported_identifiers
- 1 回答
- 0 關(guān)注
- 167 瀏覽
添加回答
舉報(bào)