【发布时间】:2018-10-05 15:04:22
【问题描述】:
我正在尝试测试一个处理程序,该处理程序如下:
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"] and item = "2"
如何构造一个 URL 请求来获得像 Curl 这样的结果?
【问题讨论】:
-
请发布响应头状态。查看您的请求是否正确完成或是否引发了一些 HTTP 错误。所以在测试用例中创建请求时不要跳过错误。
-
打印此代码中的错误 sn -p
request, err := http.NewRequest("DELETE", "/address/2", nil)