douwen8424 2017-04-28 16:14
浏览 21
已采纳

大猩猩Mux不处理我的道路

When I use the default router from http everything works, but if I use the router from gorilla/mux instead, I get a 404 page with the body 404 page not found. As shown in the samples below, everything else is exactly the same.

Why doesn't the gorilla/mux router work like this?

Working correctly, using http routing:

package main

import "net/http"

func simplestPossible(w http.ResponseWriter, req *http.Request) {
    w.Write([]byte("MWE says OK"))
}

func main() {
    http.HandleFunc("/", simplestPossible)

    http.ListenAndServe(":8000", nil)
}

Not working, using gorilla/mux routing:

package main

import "net/http"
import "github.com/gorilla/mux"

func simplestPossible(w http.ResponseWriter, req *http.Request) {
    w.Write([]byte("MWE says OK"))
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", simplestPossible)

    http.ListenAndServe(":8000", nil)
}
  • 写回答

1条回答 默认 最新

  • doxzrb8721 2017-04-28 16:26
    关注

    You must pass your handler to http package (ListenAndServe):

    http.ListenAndServe(":8000", r)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?