我正在尝试使用 Go 创建一个简单的 API,它根据提供的数据执行某些操作。我计划向此 API 提供 JSON 数据并从中获取详细信息以供进一步使用。由于我试图提供 JSON 数据,因此我使用 gorilla/mux 创建了路由,如下所示: router.HandleFunc("/msa/dom/perform-factory-reset?json={jsonData}", CallGet)
log.Fatal(http.ListenAndServe(":8080", router))但是在尝试到达终点时http://localhost:8080/msa/dom/perform-factory-reset?json={"vrf":"ds","ip":"45","mac":"452","method":"gfd"} 我遇到了404 page not found错误。因此,我尝试更改实现,以便新的路由完成如下:router.HandleFunc("/msa/dom/perform-factory-reset/json={jsonData}", CallGet)这工作得很好,我能够执行所需的任务。有人能告诉我为什么会发生这种情况吗?
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
路由器是大猩猩/复用器吗?如果是这样,您无法像这样将查询参数添加到路径中。你必须:
router.Path("/msa/dom/perform-factory-reset"). Queries("json","{jsonData}").HandlerFunc(CallGet)
如果是其他路由器,那么您可能仍然需要注册不带查询参数的路径,然后从请求的处理程序中获取查询参数值。
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消