Retrofit+RxJava網(wǎng)絡(luò)請求失敗后,獲取返回的錯誤信息(json字符串)

使用Retrofit+RxJava網(wǎng)絡(luò)框架進(jìn)行網(wǎng)絡(luò)請求蝶桶,對網(wǎng)絡(luò)請求的結(jié)果進(jìn)行處理需要實(shí)現(xiàn)三個方法onCompleted()

,onError(Throwable e)掉冶,onNext(String responseString)真竖,我這邊請求成功后的統(tǒng)一處理操作(code為200),直接接受String,

如果失敗的話厌小,同時后臺又傳過來一個json字符串怎么處理呢恢共?例如這樣:

這是用postman(網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的Chrome插件)請求后返回的json,那么如何拿到這個json呢?

今天我要解決的就是拿到j(luò)son這個問題璧亚,比如說登陸的時候讨韭,后臺code碼返回不規(guī)范,那么我們就需要根據(jù)msg的提示信息來提醒用戶如何準(zhǔn)確的登錄,當(dāng)然這更利于我們進(jìn)行l(wèi)ogcat透硝。

我說一下怎么拿到這個json字符串狰闪,首先這個網(wǎng)絡(luò)請求返回的結(jié)果肯定是到了onError()里面了,在onError()方法里返回了一個Throwable
對象濒生,首先判斷這個Throwable對象是否屬于HttpException(retrofit2.adapter.rxjava包下)埋泵,為什么要先判斷呢,因?yàn)榫退闶莏son解析異常也會走到onError()這個方法里面甜攀,在HttpException中有code,message,response秋泄,message的解釋是HTTP status message琐馆,也就是網(wǎng)絡(luò)請求狀態(tài)的信息规阀,那和code差不多了,重要的事response,這是一個Response對象瘦麸,這個對象里面有一個ResponseBody對象谁撼,也就是errorBody,ResponseBody
類中有個string()方法滋饲,就是這個方法厉碟,可以直接輸出完咯請求失敗情況下返回的json字符串。

代碼:

@Override

public voidonError(Throwable e) {

?????? if(e? instanceof??? HttpException){

???????????? HttpException httpException = (HttpException) e;

?????????????? try{

??????????????????? String responseString = httpException.response().errorBody().string();

??????????????? }catch(IOException e1) {

????????????????????? e1.printStackTrace();

???????????? ? ? }

? ? ?? }

}

拿到responseString解析輸出屠缭,結(jié)束箍鼓。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呵曹,隨后出現(xiàn)的幾起案子款咖,更是在濱河造成了極大的恐慌,老刑警劉巖奄喂,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铐殃,死亡現(xiàn)場離奇詭異,居然都是意外死亡跨新,警方通過查閱死者的電腦和手機(jī)富腊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來域帐,“玉大人赘被,你說我怎么就攤上這事⌒ごВ” “怎么了民假?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長许饿。 經(jīng)常有香客問我阳欲,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任球化,我火速辦了婚禮秽晚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘筒愚。我一直安慰自己赴蝇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布巢掺。 她就那樣靜靜地躺著句伶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪陆淀。 梳的紋絲不亂的頭發(fā)上考余,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機(jī)與錄音轧苫,去河邊找鬼楚堤。 笑死,一個胖子當(dāng)著我的面吹牛含懊,可吹牛的內(nèi)容都是我干的身冬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岔乔,長吁一口氣:“原來是場噩夢啊……” “哼酥筝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雏门,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘿歌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后剿配,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搅幅,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年呼胚,在試婚紗的時候發(fā)現(xiàn)自己被綠了茄唐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝇更,死狀恐怖沪编,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情年扩,我是刑警寧澤蚁廓,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站厨幻,受9級特大地震影響相嵌,放射性物質(zhì)發(fā)生泄漏腿时。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一饭宾、第九天 我趴在偏房一處隱蔽的房頂上張望批糟。 院中可真熱鬧,春花似錦看铆、人聲如沸徽鼎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽否淤。三九已至,卻和暖如春棠隐,著一層夾襖步出監(jiān)牢的瞬間石抡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工宵荒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汁雷,地道東北人净嘀。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓报咳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親挖藏。 傳聞我的和親對象是個殘疾皇子暑刃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容