GAE Golang Gorilla mux - 找不到404页面

rla*_*ies 9 google-app-engine go mux

我在GAE中使用gorilla mux时遇到了一些问题.

当我尝试它时,我'找不到404页'.不调用rootHandler函数(不生成任何跟踪)

以下是我的代码的一部分,任何想法?

提前

...
    func init() {
     r := mux.NewRouter()
     r.HandleFunc("/",rootHandler)
    }
    func rootHandler(w http.ResponseWriter, r *http.Request) {
     var functionName = "rootHandler"
     c := appengine.NewContext(r)
     c.Infof(functionName+"-start")
     defer c.Infof(functionName+"-end")
...
Run Code Online (Sandbox Code Playgroud)

Igo*_*rin 20

您必须将请求路由到您的mux路由器.http包含DefaultServeMuxAppEngine使用的包,但mux没有.(而且它没有单独注册其路线net/http)

也就是说,所有你需要做的就是注册你的mux路由器net/http:

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", HomeHandler)
    r.HandleFunc("/products", ProductsHandler)
    r.HandleFunc("/articles", ArticlesHandler)
    http.Handle("/", r)
}
Run Code Online (Sandbox Code Playgroud)

(直接来自文档)

这里重要的部分是http.Handle("/", r).