我想实现类似的路线user/profileuser/cartuser/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)它应该处理所有从 开始的 URL users。我正在使用 mux 大猩猩
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
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 }
主程序
r := mux.NewRouter() r.PathPrefix("/user").Handler(makeUserHandler())
请根据您的要求对上述代码进行必要的更改。
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消