-
正確的json格式
** 全部字段;** 部分可能字段;
- 非json格式
比如被網(wǎng)絡(luò)路由劫持,響應(yīng)非json格式內(nèi)容;
導(dǎo)致json解析異常;
&網(wǎng)絡(luò)異常
連接超時(shí)
讀取超時(shí)
寫入超時(shí)&網(wǎng)絡(luò)層級的理解
網(wǎng)絡(luò)框架包含兩個(gè)部分,client網(wǎng)絡(luò)框架, server 網(wǎng)絡(luò)框架,
它們遵循同一個(gè)網(wǎng)絡(luò)標(biāo)準(zhǔn), 建立在相同的網(wǎng)絡(luò)協(xié)議上,
針對client網(wǎng)絡(luò)框架,最高級的應(yīng)用層采用okHttp,
okhttp幫助處理了所有網(wǎng)絡(luò)協(xié)議上的東西,
比如對code的處理,
當(dāng)?shù)讓記]問題, okHttp就會把服務(wù)器的響應(yīng)內(nèi)容正確的返回;
當(dāng)出現(xiàn)問題, okHttp就會用回調(diào)的方式通知外部調(diào)用;

就比如這個(gè),底層走的code是200,說明沒問題;
自己服務(wù)器響應(yīng)的code只是一個(gè)表示而已,這個(gè)code指明的是自己服務(wù)代碼邏輯的問題, 和底層網(wǎng)絡(luò)沒有半毛錢關(guān)系;
我一直理解錯(cuò)了, 陷入了一個(gè)死混同, 沒有分清楚自己服務(wù)器的code和底層網(wǎng)絡(luò)協(xié)議code的區(qū)別;
&自己服務(wù)器的code指代是自己的服務(wù)業(yè)務(wù)邏輯的問題定位;
&底層網(wǎng)絡(luò)的code指代的是網(wǎng)絡(luò)的問題, 請求頭和響應(yīng)頭, 都是底層網(wǎng)絡(luò)協(xié)議的相互交流,和自己的業(yè)務(wù)服務(wù)業(yè)務(wù)邏輯沒有半毛錢關(guān)系;
&網(wǎng)絡(luò)異常, 走的是底層協(xié)議的code;
&Json解析異常, 說明網(wǎng)絡(luò)走的通, 是你自家服務(wù)業(yè)務(wù)邏輯的響應(yīng)除了問題, 和網(wǎng)絡(luò)沒半毛錢關(guān)系, 和網(wǎng)絡(luò)code也沒有半毛錢關(guān)系;
&把網(wǎng)絡(luò)層面的東西交給應(yīng)用程網(wǎng)絡(luò)框架來處理, 比如android客戶端的okHttp, 客戶端端的關(guān)注重點(diǎn)在于, 處理自己服務(wù)業(yè)務(wù)邏輯的事情, 比如針對自家服務(wù)的code碼區(qū)分是啥情況; 針對網(wǎng)絡(luò)異常的問題, 統(tǒng)一處理就可以了;