亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用动态段构建休息请求》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
问题内容我正在尝试测试一个处理程序,该处理程序如下:
router.handlefunc("/address/{id}", deleteperson).methods("delete")
我创建的请求是:
request, _ := http.newrequest("delete", "/address/2", nil)
deleteperson(response, request)
使用 github.com/gorilla/mux 我尝试提取“id”
params = mux.vars(request)
item := params["id"]
returns: params = map[] and item = ""
但是,如果我使用curl 命令调用deleteperson:
curl -X DELETE http://localhost:8000/address/2
我得到:params = map["id"] 和 item = "2"
如何构造一个 url 请求来获取像 curl 这样的结果?
解决方案
我认为问题在于您没有将完整的 url 放入请求中。我猜您在执行请求时忽略了该错误。如果您不输入完整的 url,它会发出类似这样的错误消息: panic: delete /address/2: unsupported protocol schema ""
以下代码在我的机器上运行正常:
package main
import "net/http"
func main() {
r, err := http.NewRequest("DELETE", "http://localhost:8080/address/2", nil)
if err != nil {
panic(err)
}
if _, err := http.DefaultClient.Do(r); err != nil {
panic(err)
}
}
希望这有帮助:)
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~