1. 程式人生 > >Retrofit2 請求的路徑被轉義,導致異常http 400

Retrofit2 請求的路徑被轉義,導致異常http 400

罪魁禍首@Url與@Path註解,我們開發過程中,肯定會需要動態的修改請求地址
兩種動態修改方式如下:

@POST()
Call<HttpResult<News>> post(@Url String url, @QueryMap Map<String, String> map);
@POST("api/{url}/newsList")
Call<HttpResult<News>> login(@Path("url") String url, @Body News post);

第一種是直接使用@Url,它相當於直接替換了@POST()裡面的請求地址
第二種是使用@Path(“url”),它只替換了@POST(“api/{url}/newsList”)中的{url}
如果你用下面這樣寫的話,就會出現url被轉義

你如果執意要用@Path,也不是不可以,需要這樣寫

@POST("{url}")
Call<HttpResult<News>> post(@Path(value = "url", encoded = true) String url);

相關推薦

Retrofit2 請求路徑轉義導致異常http 400

罪魁禍首@Url與@Path註解,我們開發過程中,肯定會需要動態的修改請求地址 兩種動態修改方式如下: @POST() Call<HttpResult<News>> post(@Url String url, @QueryMa

mysql innodb引擎下的行鎖由於意外沒有釋放導致後面的請求無法繼續怎麼辦?

在一個@Transactional註解的方法中進行除錯,但莫名其妙的就報了下面這個錯誤: 從內容上看不出個所以然,大概的猜測是事務開啟了,一直沒有commit,導致MySQL的行被鎖住了。下面這個錯誤證實了我的想法,再次更新同一條資料時,依然失敗。 那麼,該怎麼解決掉

angularjs中避免轉義HTMl標識能識別可以正常鏈接下載!

strong mes logs str style content 代碼 ret .html http://www.cnblogs.com/sxz2008/p/6434036.html如果希望正常解析html代碼,如下: var app = angular.module(‘

SpringBoot內置Tomcat緩存文件目錄意外刪除導致異常

server fig root part use att servlet .get 項目 在項目中,一般會將文件臨時保存到緩存目錄 當時使用 File.createTempFile("tmp", ext, (File) re

【TP5.1】HTML標籤自動轉義導致CKEditor儲存內容無法正常顯示!

問題:使用Thinkphp5.1 開發的時候顯示CKEditor儲存的內容不符合預期。     希望的樣子,肯定是不顯示<p><b>等標籤,而是下面的樣子。   因為剛開始使用TP5.1和CKEditor,所以遇到問題有點懵。立馬就去找官方文

前後端分離。前端POST請求引數過長導致400錯誤解決辦法及分析

這兩天做好的功能要上線了。但是測試的時候忽然發現當POST提交資料量多大時,會導致後端報400錯誤。最開始以為瓶頸存在於tomcat,因為tomcat預設能接受的POST請求大小為2M,所以手動修改tomcat server.xml 檔案,將接受POST大小修改為不限制。

[2015.5.27]支付寶因杭州機房網路光纖導致數小時部分使用者業務不可用

2015年5月27日,支付寶因杭州市政道路建設導致網路光纜被挖斷,使部分使用者在當天下午短時出現無法正常使用的情況,對此,支付寶官方向使用者釋出了致歉宣告,並在宣告中回覆了幾個大家關心的問題。同時,支付寶也表示,以後雖然不能保證100%杜絕此類事件的發生,但支付寶也會繼續推進技術的升級改造,繼續完善

kindeditor儲存到資料庫資料轉義但在頁面上又解析出來

在做XSS的安全校驗的時候,發現通過kindeditor,儲存在資料庫中是被轉義的字元 例如: <svg onload="alert(/XSS/)"></svg> 被轉義成 &lt;svg onload="aler

HTTP 請求路徑無錯但伺服器端提示路徑錯誤 Controller 值重複了兩次

問題描述: 請求路徑(無錯):http://localhost:8080/lims-core/service/tms/template/addBean 但伺服器端提示錯誤(與請求路徑不一樣): WAR

專案訪問index.html預設跳轉到login.jsp頁面隱藏位址列每次顯示請求路徑和引數定個在域名不變

知識點 1.兩種方法頁面進行載入跳轉到主頁 2.位址列保持域名不變的實現 詳細 一、兩種方法頁面進行載入跳轉到主頁 1.index.html為專案WEB.xml中配置的預設載入頁面,輸入域名訪問in

使用URL重寫解決 Cookie禁用導致的使用者Session遺失

大家都知道使用者和web應用互動,通過Session的方式。 那麼客戶端是如何在伺服器上一下子找到屬於自己的那個Session呢? 一般情況下,客戶端是通過cookie 的方式找到伺服器上的Session的。 可以開啟自己的瀏覽器找到SESSIONID 這個cookie。裡

DNS劫持導致Unable to connect'to the remote server修改Hosts解決

朋友多真的很好。。今天公司的幾個客戶,說軟體無法訪問了,同事在群裡發圖報錯內容是:Unable to connect'to the remote server,然後抱著事不關己高高掛起的態度,冒了一句:無法連線到遠端伺服器,他們那邊網路有問題。然後到處問其他同事,得到的答案都

一個致命的 Redis 命令導致公司損失 400 萬!!

數據庫 file red which warning pty 客戶端 key 存在 最近安全事故瀕發啊,前幾天發生了《順豐高級運維工程師的刪庫事件》,今天又看到了 PHP 工程師在線執行了 Redis 危險命令導致某公司損失 400 萬。。 什麽樣的 Redis 命令會有如

一個致命的 Redis 命令導致公司損失 400

原文地址          血的教訓啊~要引以為戒 危險命令有哪些??? Redis 的危險命令主要有以下幾個: keys 客戶端可查詢出所有存在的鍵。對 Redis 稍微有點使用經驗的人都知道線上是不能執行 keys * 相關命令的,雖然其模糊匹配功能使用非常

SpringMVC實現文件下載時請求路徑中的擴展名省略

springmvc oca spring -- localhost 存在 name map 瀏覽器 問題描述   問題是這樣的,我寫了一個DownloadController,用來處理下載請求,預期效果如下:   客戶端瀏覽器在訪問URL --> http:/

Fragment已經added了導致異常

comm tac lec sadd style urn con 問題 handle java.lang.IllegalStateException: Fragment already added: ******Effect 出現的原因是commit方法提交是異步的

tomcat正常運行一段時間後tomcat異常進程killed

remove rss table ble 需求 nes 決定 href pru tomcat異常停,進程被killed 對應tomcat日誌如下: /application/tomcat-service-8080/bin/catalina.sh: line 386: 437

mysql內存不斷占用導致每隔一個多月就自動重啟修改數據庫配置後問題解決

mysql 內存 占用 innodb  這個月初,通過zabbix監控發現有1臺mysql數據庫的從庫內存剩余空間不斷降低。檢查以往的監控歷史圖表,發現由於內存占用不斷增大,每隔一個多月,就會因為內存嚴重不足,導致這臺服務器的1個mysql實例(端口:3316)重啟。數據庫實例重啟之後,內存被大量釋放,但經過

nuxt.js裏路徑占用怎麽修改當前路徑

com onf 占用 private build script local localhost author 在package.json文件裏面添加 "config":{ "nuxt":{ "host":"localhost",//可以為本地路徑

python連接mysql插入Unicode編碼數據‘‘轉義

col pro ins img 處理 ima ces image pla value=‘\u4e2d\u6587‘sql=‘INSERT INTO base.a (a.id,a.name) VALUES (‘1‘,value)‘sql.execute(sql) 數據庫中查