我想實(shí)現(xiàn)類似的路線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")正如您所看到的,這些路由以開(kāi)頭user,所以我怎么知道它是一個(gè)user路由,以便我可以在不同的文件中發(fā)送處理它。我想要類似的東西r.HandleFunc("user/", handlerWhichHandelAllTheRequestFromUser)它應(yīng)該處理所有從 開(kāi)始的 URL users。我正在使用 mux 大猩猩
1 回答

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
mux中有一個(gè)PathPrefix函數(shù)。在本例中,您可以使用它來(lái)創(chuàng)建路徑前綴,即“/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())
請(qǐng)根據(jù)您的要求對(duì)上述代碼進(jìn)行必要的更改。
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報(bào)
0/150
提交
取消