rest - 无法使用golang中的gorilla mux从url读取变量

标签 rest unit-testing go gorilla mux

我正在尝试使用 gotests 和 gomock 为我使用 gorilla 用 golang 编写的 Restful 服务编写单元测试,但服务无法从 url 获取变量

这是我的要求

req, err := http.NewRequest("GET", "product/5b5758f9931653c36bcaf0a0", nil)

实际端点是product/{id}

当我通过以下代码进入我的服务时

params := mux.Vars(req)

params 映射是空的,而它应该将 id 键映射到 5b5758f9931653c36bcaf0a0

奇怪的是 postman 端点工作正常。

我可以知道请求有什么问题吗?

最佳答案

问题解决了

req = mux.SetURLVars(req, map[string]string{"id": "5b5758f9931653c36bcaf0a0"})

关于rest - 无法使用golang中的gorilla mux从url读取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51521868/

相关文章:

java - JMockit:如何在使用@Tested 注释时调试测试?

javascript - 如何用 Jest 模拟 window.Raven

go - 同一包中的功能可见性

go - 如何检查一个变量中的单词具有相同字符的单词

json - 将配置文件与已编译的 Go 程序一起使用

javascript - 无法使用 REST API

java - 如何在 spring-rest 中嵌套@PathVariable?

java - 405 遗留应用程序中的第一个 REST API 不允许使用方法

java - 为了安全起见,我是否需要增加等待时间才能获得安静的服务响应?

unit-testing - TDD:您为单元测试公开了哪些方法?