登录
首页 >  Golang >  Go问答

使用动态段构建休息请求

来源:stackoverflow

时间:2024-03-30 22:12:35 258浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用动态段构建休息请求》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我正在尝试测试一个处理程序,该处理程序如下:

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的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>