2015-04-11 26 views
6

Yönlendirme ihtiyaçları için gorilla/mux kullanıyorum. Ama bir problem fark ettim, birden çok Altrouter'i yerleştirdiğimde işe yaramıyor.Gorilla Mux in yuvalama altrouterleri

func main() { 
    r := mux.NewRouter().StrictSlash(true) 
    api := r.Path("/api").Subrouter() 
    u := api.Path("/user").Subrouter() 
    u.Methods("GET").HandleFunc(UserHandler) 
    http.ListenAndServe(":8080", r) 
} 

ben başka pakete yönlendirici doldurma temsilci böylece Ancak bu işe görünmüyor

örneğin user.Populate(api) için, bu yaklaşımı kullanmak istedi: Burada

örnektir. Sadece zincirde tek bir Subrouter kullanırsam çalışır.

Herhangi bir fikrin var mı?

cevap

8

Bunu çözdüm, bu yüzden birisinin benim kadar aptal olduğu durumda buraya göndereceğim. : D

Yol tabanlı bir altprogram oluştururken, Path yerine PathPrefix ile almanız gerekir. o bitiş noktasına işleyicileri takılarak sadece

r.PathPrefix("/api").Subrouter() 

kullanın r.Path("/api").

İlgili konular