在这个Youtube 视频(15:29 左右)中 Blake Mizerany 的 Golang 演讲中,他谈到了如何在不使用第三方包的情况下构建路由器,详细介绍了如何构建具有可变组件的路由,例如一个身份证。这是他使用的处理程序,第一行显示了如何获取路由的变量组件(即key)
func productHandler(w http.ResponseWriter, r *http.Request){
key := r.URL.Path[len("/products/":]
switch r.Method{
case "GET":
//do stuff
case "POST"
//do stuff
default:
http.Error(w, "method not allowed", 405)
}
}
尽管他的实际路线是什么样的,但从他的介绍中并不清楚。
我正在尝试构建一个处理带有 id 的放置请求的路由。当我单击页面上的元素时,它会向此路由发送放置请求
http://localhost:8080/products/1433255183951
我有这样的路线
http.HandleFunc("/products/{id}", doSomethingWithProduct){
}
当然还有功能
func doSomethingWithProduct(res http.ResponseWriter, req *http.Request{
key := req.URL.Path[len("/products/"):]
log.Println(key, "is this logging?? nope")
}
问题。即使我已经设置了该路由和处理程序,当我单击该元素时,我发现 404 未找到,并且没有迹象表明我的函数被调用(即它没有记录)
问题:如何创建处理 PUT 请求的自定义路由/函数
http://localhost:8080/products/1433255183951
白猪掌柜的
慕运维8079593
相关分类