go -mux,为啥路由没有解析?
Posted
技术标签:
【中文标题】go -mux,为啥路由没有解析?【英文标题】:go -mux, why the route doesn't resolve?go -mux,为什么路由没有解析? 【发布时间】:2014-02-07 23:22:42 【问题描述】:我正在尝试在 GAE 上部署我的第一个 golang 应用程序。由于某些原因,产品处理程序无法解决,我收到 404 错误。我错过了什么吗?
package test
import "github.com/gorilla/mux"
import (
"fmt"
"net/http"
)
func main()
r := mux.NewRouter()
r.HandleFunc("/products", ProductsHandler)
http.Handle("/", r)
e := http.ListenAndServe(":8080", r)
if e != nil
println(e.Error())
func ProductsHandler(w http.ResponseWriter, r *http.Request)
fmt.Fprint(w, "Hello, you!")
【问题讨论】:
ListenAndServe(":8080", nil)
- 见golang.org/pkg/net/http/#ListenAndServe
【参考方案1】:
继续 AppEngine 将自动侦听正确的端口并提供http.DefaultServeMux
。将您的 main
函数更改为 init
并删除服务逻辑,您应该一切就绪。
阅读Getting Started section on Requests and HTTP了解更多详情。
【讨论】:
是的,在 init() 方法中调用 http.HandleFunc 而不是 main 并完全删除 main。 App Engine 负责 main 方法。 请问使用 init 而不是 main 的原因是什么? J以上是关于go -mux,为啥路由没有解析?的主要内容,如果未能解决你的问题,请参考以下文章