GAE Golang Gorilla mux - 找不到404页面

时间:2012-12-29 11:09:38

标签: 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")
...

1 个答案:

答案 0 :(得分:20)

您必须将请求路由到您的mux路由器。 http包有DefaultServeMux由AppEngine使用,但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)
}

(直接来自文档)

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