GAE Golang Gorilla mux - 404页面未找到
技术问答
261 人阅读
|
0 人回复
|
2023-09-11
|
我在 GAE 中使用 gorilla mux 遇到了一些问题。& M. ?# V, n$ [ f1 G' B
当我尝试时,我发现找不到 404 页面。未调用 rootHandler 函数(无任何痕迹)4 Y& f" C& f" |. o. o- w' i
以下是我代码的一部分。你有什么想法吗?: @- N" K5 B$ G( y+ _
提前考虑
1 T9 C7 G4 ?) a6 g" h- `... 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")...+ q. d7 _# |, g! V
; ~/ d0 X# ^3 [6 r) o) Q 解决方案: + }( {9 n5 o/ e
您必须将请求路由到您的 mux 路由器。http包有DefaultServeMux哪个被 AppEngine 使用,但mux没有。(而且它不会注册自己的路线net/http)) E7 r0 E) {7 o% l) l
也就是说,你要做的就是注册你的mux路由器net/http:9 S/ E# n, X7 `$ A
func main() r := mux.NewRouter() r.HandleFunc("/",HomeHandler) r.HandleFunc("/products",ProductsHandler) r.HandleFunc("/articles",ArticlesHandler) http.Handle("/",r)}
: q8 u1 X! q, ~! o7 o; P (直接来自文档)
2 f8 T4 S2 Y/ P3 Y! v( A这里的重要部分是http.Handle("/",r). |
|
|
|
|
|