第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么 RestTemplate 不對(duì)“+”符號(hào)進(jìn)行 urlencode,而是對(duì)其他所有內(nèi)容進(jìn)行

為什么 RestTemplate 不對(duì)“+”符號(hào)進(jìn)行 urlencode,而是對(duì)其他所有內(nèi)容進(jìn)行

慕標(biāo)琳琳 2022-12-28 14:20:28
我發(fā)現(xiàn)了一個(gè)奇怪的問題,即 urlencoding 的行為不一致。更新Spring MVC 4.3 和 5.1 版本之間存在差異:// FAIL in MVC 4.x @Testpublic void test2() {    rt.getForObject("http://localhost/expr={expr}", String.class, "x/y");    Assert.assertEquals("http://localhost/expr=x%2Fy", savedUri.toString());}// FAIL in MVC 4 or 5@Testpublic void test3() {    rt.getForObject("http://localhost/expr={expr}", String.class, "x+y");    Assert.assertEquals("http://localhost/expr=x%2By", savedUri.toString());}// ok in MVC 4.x, FAIL in MVC 5@Testpublic void test4() {    rt.getForObject("http://localhost/expr={expr}", String.class, "x+y");    Assert.assertEquals("http://localhost/expr=x+y", savedUri.toString());}這可能是 Spring MVC 更大重構(gòu)的一部分,因?yàn)樗渤霈F(xiàn)在一個(gè)完全不同的地方問題詳情以下獨(dú)立測(cè)試最能說明我的問題。不要被ClientHttpRequestFactory- 重要的部分是最后 2 種測(cè)試方法所嚇倒。發(fā)生了什么:除法符號(hào)/正確編碼為%2F- test2() 通過添加符號(hào)+未編碼為 a %2B- 它仍然存在+并且 test3() 失敗應(yīng)該發(fā)生什么:test3() 應(yīng)該通過。+應(yīng)編碼為 %2B,因?yàn)樗?是 URL 中的特殊字符,并且被許多服務(wù)器端 Web 框架解釋為空白。這是怎么回事,是否有通用修復(fù)程序?
查看完整描述

1 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

不確定是否+應(yīng)該編碼。舊的 RFC 說是,新的說也許。

嘗試按如下方式設(shè)置編碼模式:

  DefaultUriBuilderFactory builderFactory = new DefaultUriBuilderFactory();
  builderFactory.setEncodingMode(EncodingMode.VALUES_ONLY);
  restTemplate.setUriTemplateHandler(builderFactory);

請(qǐng)參閱SPR- 19394和SPR-20750進(jìn)行討論。


查看完整回答
反對(duì) 回復(fù) 2022-12-28
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)