GAE Golang Gorilla mux - 404页面未找到
技术问答
352 人阅读
|
0 人回复
|
2023-09-11
|
我在 GAE 中使用 gorilla mux 遇到了一些问题。
- J* t" l2 c( D1 V: R- \4 z7 k当我尝试时,我发现找不到 404 页面。未调用 rootHandler 函数(无任何痕迹)
; Q) d/ X" L: ^; x k5 X以下是我代码的一部分。你有什么想法吗?
7 i4 O3 {- _- X$ ?: E6 D9 W提前考虑
* {! N: S7 ?% @6 x1 A) v... 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")...
5 L& [$ w5 R# m7 V/ w
: F# o/ L0 e, v8 \( C: `' h5 b3 o 解决方案:
! T# F s& s. H0 ~) `3 ` 您必须将请求路由到您的 mux 路由器。http包有DefaultServeMux哪个被 AppEngine 使用,但mux没有。(而且它不会注册自己的路线net/http)$ W7 \/ C. x; e1 Q( b6 A, c& e
也就是说,你要做的就是注册你的mux路由器net/http:. c4 L f2 V# I1 N" I: _8 _% w
func main() r := mux.NewRouter() r.HandleFunc("/",HomeHandler) r.HandleFunc("/products",ProductsHandler) r.HandleFunc("/articles",ArticlesHandler) http.Handle("/",r)}
# F1 V, R5 Y8 s M (直接来自文档)" U$ u# W1 O) ]$ f
这里的重要部分是http.Handle("/",r). |
|
|
|
|
|