我使用的Restlet時遇到與它的變量在模板中包含編碼斜槓路由器模板問題接受編碼的斜線。以下是詳細信息:org.restlet.routing.Router似乎並不
當我使用這條路線:
/blob/sqlserver/{uniqueid}
而且通過這個(注%2F爲/):
/blob/sqlserver/Refinance-Other%2FFRM%2F660-700%2F4.00-4.50%2Fproperties-4.00-4.50.csv
或本:
/blob/sqlserver/Refinance-Other/FRM/660-700/4.00-4.50/properties-4.00-4.50.csv
我得到一個404
如果我使用這個路由器:
/blob/sqlserver/{purpose}/{type}/{creditscore}/{interestrate}/{file}
,並通過這樣的:
/blob/sqlserver/Refinance-Other/FRM/660-700/4.00-4.50/properties-4.00-4.50.csv
它的工作原理,但我不能做這種方式,因爲我不控制誰送我這個URI和變量都會發生變化,所以它必須是編碼的斜線。
爲了測試這個進一步的我也再一次嘗試這個模板:
/blob/sqlserver/{uniqueid}
而且還採用了MODE_STARTS_WITH
.setMatchingMode(Template.MODE_STARTS_WITH);
當我做到這一點,確實發現這樣的:
/blob/sqlserver/Refinance-Other/FRM/660-700/4.00-4.50/properties-4.00-4.50.csv
但我只在uniqueid中獲得「Refinance-Other」作爲變量。
然而,編碼的斜線仍不能正常工作,這似乎很奇怪?爲什麼它會爲上述非編碼的URI與MODE_STARTS_WITH工作,不是這個URI?:
/blob/sqlserver/Refinance-Other%2FFRM%2F660-700%2F4.00-4.50%2Fproperties-4.00-4.50.csv