我有以下使用大猩猩/多路復(fù)用器的路由映射:router.Handle("/v1/data/{param}", handler)當(dāng)我打電話時(shí),curl http://localhost:8080/v1/data/hello%2Fworld我會(huì)收到404響應(yīng)代碼。問(wèn)題是,在我的微服務(wù)中,我想將之后的所有內(nèi)容解釋/v1/data/為param。捕獲參數(shù)的代碼如下:uriP := mux.Vars(r)
param := uriP["param"]是否可以使用大猩猩/多路復(fù)用器或任何其他路由器來(lái)實(shí)現(xiàn)此目的?
2 回答

冉冉說(shuō)
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
對(duì)于您的問(wèn)題:
是否可以使用大猩猩/多路復(fù)用器或任何其他路由器來(lái)實(shí)現(xiàn)此目的?
是的,可以使用gorilla / mux。您發(fā)布的代碼沒(méi)有錯(cuò)。
錯(cuò)誤是page not found
指您傳遞的網(wǎng)址未在多路復(fù)用器路由器中注冊(cè)。
傳遞http://localhost:8080/v1/data/hello world
瀏覽器。route將在定義的網(wǎng)址之后捕獲任何參數(shù)。還可以在處理程序請(qǐng)求結(jié)構(gòu)中打印捕獲的url路徑,以查看所請(qǐng)求的url為:
fmt.Println(r.URL.Path) uriP := mux.Vars(r) param := uriP["param"]
- 2 回答
- 0 關(guān)注
- 293 瀏覽
添加回答
舉報(bào)
0/150
提交
取消