我想将httprouter与muxchain一起使用,同时保留/:user/.
以下面的例子为例:
func log(res http.ResponseWriter, req *http.Request) {
fmt.Println("some logger")
}
func index(res http.ResponseWriter, req *http.Request) {
fmt.Fprintf(res, "Hi there, I love %s!", req.URL.Path[1:])
}
func main() {
logHandler := http.HandlerFunc(log)
indexHandler := http.HandlerFunc(index)
chain := muxchain.ChainHandlers(logHandler, indexHandler)
router := httprouter.New()
router.Handler("GET", "/:user", chain)
http.ListenAndServe(":8080", router)
}
当我访问时,http://localhost:8080/john我显然无法访问ps httprouter.Params 那是因为 httprouter 需要查看 typehttprouter.Handle但该函数是使用 type 调用的http.Handler。
有什么办法可以同时使用这两个包吗?HttpRouter GitHub 存储库说
唯一的缺点是,当使用 http.Handler 或 http.HandlerFunc 时,无法检索任何参数值,因为没有有效的方法来传递带有现有函数参数的值。
汪汪一只猫
相关分类