讓我們考慮下面的代碼示例,其中一個路徑和單個參數被編碼...UriBuilder錯誤地編碼查詢參數值?
參數名:「參數」
參數值:「富/酒吧AAA BBB = CCC & = DDD」(恰好是具有查詢參數的URL)
String test = UriBuilder.fromPath("https://dummy.com").
queryParam("param", "foo/bar?aaa=bbb&ccc=ddd").
build().toURL().toString();
返回的編碼的URL字符串是:
"https://dummy.com?param=foo/bar?aaa%3Dbbb&ccc%3Dddd"
爲T他的正確嗎?
不應該在參數值字符串中編碼字符「&」(甚至可能是「?」)嗎?
豈不產生的URL被解釋如下:
一個第一參數,名稱= 「參數」,值= 「?AR AAA%3Dbbb」 隨後是第二參數,名稱= 「CCC%3Dddd」 ,沒有價值。
UriBuilder不屬於標準Java API AFAIK,這是它的包嗎? – leonbloy 2010-05-11 21:02:51
它在JAX-RS(用於REST風格的Web服務的Java API) – Fred 2010-05-11 23:29:03