【发布时间】:2019-09-18 00:47:51
【问题描述】:
我想实现这样的路线
user/profile
user/cart
user/products
目前,我正在这样做
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
【问题讨论】:
-
可以在复用路由中使用正则表达式:
s.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler) -
如果这是gorilla/mux,可以使用子路由器:
userRouter:=r.Path("/user").Subrouter() -
是的。这是。
gorilla/mux谢谢! -
如果是
net/http,那么您发布的代码将完全按照预期工作。 stdlib 路由器将带有斜杠的路由视为前缀处理程序。