解決retrofit2.adapter.rxjava.HttpException: HTTP 400 錯(cuò)誤

解決retrofit2.adapter.rxjava.HttpException: HTTP 400 錯(cuò)誤

前言

??最近項(xiàng)目中遇到一件怪事,在get請(qǐng)求中發(fā)現(xiàn)沒(méi)有數(shù)據(jù),在debug時(shí)候發(fā)現(xiàn)居然爆了一個(gè)retrofit2.adapter.rxjava.HttpException: HTTP 400錯(cuò)誤。經(jīng)過(guò)查閱資料發(fā)現(xiàn)400 請(qǐng)求出錯(cuò)
??由于語(yǔ)法格式有誤,服務(wù)器無(wú)法理解此請(qǐng)求。不作修改,客戶程序就無(wú)法重復(fù)此請(qǐng)求。但是我把請(qǐng)求的完整參數(shù)發(fā)到postman中請(qǐng)求發(fā)現(xiàn)沒(méi)有問(wèn)題。正在覺(jué)得怪異的時(shí)候,請(qǐng)求參數(shù)中|這個(gè)特殊字符串引起了我的注意。
通過(guò)在OKhttp 攔截器中打印出本次請(qǐng)求路徑發(fā)現(xiàn),所有的參數(shù)都是被編碼了,但是|這個(gè)特殊字符卻沒(méi)有編碼。

   String path = "";
        try {
            LogUtils.error("path" + departmentBean.getPath());
            path = new String(departmentBean.getPath().getBytes(), "utf-8");
            path = URLEncoder.encode(path, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

通過(guò)對(duì)路徑參數(shù)也就是包含 | 特殊字符的參數(shù)進(jìn)行編碼過(guò)后問(wèn)題就解決了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,229評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,659評(píng)論 19 139
  • To 黑君 我不知會(huì)遇見(jiàn)你,心碎的如此輕而易舉 慶幸莫名的分離,讓我能重新找回自己 回憶真的很甜蜜,從你睫毛落下...
    HP派派閱讀 314評(píng)論 2 3
  • 風(fēng)粉碎晚霞,雨凋落天涯 我等在花下,把酒問(wèn)歸期 愁思三千消散了你的身影 斷腸輕吟我離時(shí)你送的曲 現(xiàn)在的我在東籬之邊...
    一張孫藝寧閱讀 147評(píng)論 0 0
  • 2016.4.18 晴 陽(yáng)光極好 來(lái)到這里兩三天了,心情漸漸平復(fù),生活開(kāi)始進(jìn)入自己設(shè)定的秩序,對(duì)周遭有了一定的了解...
    卜白閱讀 538評(píng)論 0 0

友情鏈接更多精彩內(nèi)容