小编典典

GAE Golang Gorilla Mux-找不到404页

go

我在GAE中使用大猩猩复用器时遇到了一些问题。

尝试时,我没有找到“ 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")
...

阅读 674

收藏
2020-07-02

共1个答案

小编典典

您必须将请求路由到多路复用器路由器。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)
}

(直接来自文档)

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

2020-07-02