如何解决如何获取路线的所有可用方法?
我已经这样定义了我的路线:
func Setup(router *mux.Router) {
subrouter := router.PathPrefix("/user").Subrouter()
subrouter.HandleFunc("/",get).Methods(http.MethodGet)
subrouter.HandleFunc("/",post).Methods(http.MethodPost)
subrouter.HandleFunc("/{id:[0-9]+}",put).Methods(http.MethodPut)
subrouter.HandleFunc("/{id:[0-9]+}",del).Methods(http.MethodDelete)
}
由于 GET 和 POST 请求共享相同的路径 (/user
),我希望将它们放在一个像这样的切片中:["GET","POST"]
。
然后在 GET 请求的处理程序中,我尝试获取 Route
结构,并从那里获取其所有相关方法,但我只得到了一个包含 "GET"
的切片。
我怎样才能将它们全部放在一个同时包含 "GET"
和 "POST"
的切片中?
func get(w http.ResponseWriter,r *http.Request) {
route := mux.CurrentRoute(r)
fmt.Print(route.GetMethods()) // only ["GET"]
pathName,_ := route.GetPathTemplate()
// data := services.GetUsers()
// res := siren.NewResponse(r,data)
// utils.Json(w,http.StatusOK,res)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。