2016-06-20 45 views
0

有沒有辦法通過使用retrofit 2.0在onFail()方法中捕獲400到599 http狀態?每當剩下的api返回400,401等等,然後像200響應那樣進行改進,並在onSuccess()上處理它。我怎樣才能實現它?帶有失敗響應的Retrofit 2.0

+2

看看這個問題:http://stackoverflow.com/questions/31808083/how-to-get-retrofit-success-responce-status-codes –

回答

3

每當REST API返回然後​​400401等改造像個 200響應

onFailure處僅在網絡錯誤,例如的情況下調用如果您沒有連接,請撥打IoException。如果服務器能夠處理您的請求,則在成功或錯誤onResponse將被調用的情況下。在那裏你可以檢查請求的狀態代碼並採取相應的行動

+0

I不想通過編寫if(response.body()。status == 200)來檢查所有的onResponse方法。 在1.9的改進工作良好。我會做什麼來存檔它? –

+1

有一個BaseAbstract類,爲你做檢查。然後使用模板模式調用兩個不同的方法(都在基類中聲明爲抽象)。 – Blackbelt

+0

我不能使用模板模式通過使用改造。你可以把一些代碼來實現它嗎?謝謝 –