GAE Golang Gorilla mux - 404页面未找到
技术问答
197 人阅读
|
0 人回复
|
2023-09-11
|
我在 GAE 中使用 gorilla mux 遇到了一些问题。# O1 a% H6 `) k- }4 a+ w. H
当我尝试时,我发现找不到 404 页面。未调用 rootHandler 函数(无任何痕迹); L) u- B4 J9 p( w ?3 @ o
以下是我代码的一部分。你有什么想法吗?: T3 P- p: q9 j* N7 E" r
提前考虑
+ _0 ~1 ` V! G' i& n... 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")...
, g7 A" s' ~+ N9 b# P
; ?. {( ?, A: d- h0 V 解决方案: % z, Q! ~% c3 [
您必须将请求路由到您的 mux 路由器。http包有DefaultServeMux哪个被 AppEngine 使用,但mux没有。(而且它不会注册自己的路线net/http)
8 {2 F, F# f9 R* e* I) F7 x- l也就是说,你要做的就是注册你的mux路由器net/http:
6 w9 X/ @* l6 T) M* L! B0 Pfunc main() r := mux.NewRouter() r.HandleFunc("/",HomeHandler) r.HandleFunc("/products",ProductsHandler) r.HandleFunc("/articles",ArticlesHandler) http.Handle("/",r)}; T2 [# |% P: D6 G" p4 p
(直接来自文档)5 c# a/ Z# q2 t. H* C) Z
这里的重要部分是http.Handle("/",r). |
|
|
|
|
|