我在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") ...
您必须将请求路由到多路复用器路由器。http包具有DefaultServeMuxAppEngine使用的包,但mux没有使用。(并且它net/http本身并没有注册其路线)
http
DefaultServeMux
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)。
http.Handle("/", r)