我正在嘗試使用 Go 創(chuàng)建一個簡單的 API,它根據(jù)提供的數(shù)據(jù)執(zhí)行某些操作。我計劃向此 API 提供 JSON 數(shù)據(jù)并從中獲取詳細(xì)信息以供進(jìn)一步使用。由于我試圖提供 JSON 數(shù)據(jù),因此我使用 gorilla/mux 創(chuàng)建了路由,如下所示: router.HandleFunc("/msa/dom/perform-factory-reset?json={jsonData}", CallGet)
log.Fatal(http.ListenAndServe(":8080", router))但是在嘗試到達(dá)終點(diǎn)時http://localhost:8080/msa/dom/perform-factory-reset?json={"vrf":"ds","ip":"45","mac":"452","method":"gfd"} 我遇到了404 page not found錯誤。因此,我嘗試更改實現(xiàn),以便新的路由完成如下:router.HandleFunc("/msa/dom/perform-factory-reset/json={jsonData}", CallGet)這工作得很好,我能夠執(zhí)行所需的任務(wù)。有人能告訴我為什么會發(fā)生這種情況嗎?
1 回答

桃花長相依
TA貢獻(xiàn)1860條經(jīng)驗 獲得超8個贊
路由器是大猩猩/復(fù)用器嗎?如果是這樣,您無法像這樣將查詢參數(shù)添加到路徑中。你必須:
router.Path("/msa/dom/perform-factory-reset"). Queries("json","{jsonData}").HandlerFunc(CallGet)
如果是其他路由器,那么您可能仍然需要注冊不帶查詢參數(shù)的路徑,然后從請求的處理程序中獲取查詢參數(shù)值。
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消