gpt4 book ai didi

go - 如何实现子路由

转载 作者:数据小太阳 更新时间:2023-10-29 03:39:20 26 4
gpt4 key购买 nike

我想实现这样的路线

用户/个人资料

用户/购物车

用户/产品

目前,我正在做这件事

r.HandleFunc("user/signup", signupHandler).Methods("POST")
r.HandleFunc("user/signin", signinHandler).Methods("POST")
r.HandleFunc("user/profile", profileHandler).Methods("GET")
r.HandleFunc("user/cart", cartHandler).Methods("POST")
r.HandleFunc("user/products", productsHandler).Methods("GET")

如您所见,这些路由以 user 开头,所以我怎么知道它是 user 路由,以便我可以在不同的文件中发送处理程序。

我想要类似的东西

r.HandleFunc("user/", handlerWhichHandelAllTheRequestFromUser)

它应该处理所有从 users 开始的 URL。

我正在使用 mux gorilla

最佳答案

mux中有一个PathPrefix函数。在这种情况下,您可以使用它来制作路径前缀,即“/user”。

例子:-

userHandler.go

func makeUserHandler()http.Handler{
//Define all you handlers here
r := mux.NewRouter()
r.HandleFunc("user/signup", signupHandler).Methods("POST")
r.HandleFunc("user/signin", signinHandler).Methods("POST")
r.HandleFunc("user/profile", profileHandler).Methods("GET")
r.HandleFunc("user/cart", cartHandler).Methods("POST")
r.HandleFunc("user/products", productsHandler).Methods("GET")
return r
}

主.go

r := mux.NewRouter()
r.PathPrefix("/user").Handler(makeUserHandler())

请根据您的要求对上述代码进行必要的更改。

关于go - 如何实现子路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com