GAE Golang Gorilla mux - 404页面未找到
技术问答
353 人阅读
|
0 人回复
|
2023-09-11
|
我在 GAE 中使用 gorilla mux 遇到了一些问题。
+ A3 e2 h- z+ S- ]当我尝试时,我发现找不到 404 页面。未调用 rootHandler 函数(无任何痕迹)
1 _, b2 r6 C. M! u& R以下是我代码的一部分。你有什么想法吗?
$ f( E3 L; `0 s2 t% E9 Y$ E提前考虑
7 ?( h( R/ l" _1 [# \' L/ s... 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")... R2 ~0 {# ~: T7 E L4 f8 f6 H
, `, I. d6 `! F6 k. T' t 解决方案:
3 S1 X# T, {. s1 T 您必须将请求路由到您的 mux 路由器。http包有DefaultServeMux哪个被 AppEngine 使用,但mux没有。(而且它不会注册自己的路线net/http)& j) P. }. h% p1 I+ v1 f# I
也就是说,你要做的就是注册你的mux路由器net/http:
3 }# {; o3 g# V* O! d7 {2 Gfunc main() r := mux.NewRouter() r.HandleFunc("/",HomeHandler) r.HandleFunc("/products",ProductsHandler) r.HandleFunc("/articles",ArticlesHandler) http.Handle("/",r)}6 y/ b) B: W9 N+ X { b) D
(直接来自文档)
. s3 Q3 r) ]- y* {) F: B这里的重要部分是http.Handle("/",r). |
|
|
|
|
|