我想實現類似的路線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 關注
- 131 瀏覽
添加回答
舉報
0/150
提交
取消