我正在嘗試使用 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 關注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消