Retrofit. Get response if (!response.isSucessful())

安稳与你 提交于 2019-12-11 04:46:31

问题


In new retrofit I'm making call and overriding 2 methors onResponse and onFailure.

If retrofit sucesfully parsed response to my Class Model I can get it simple but how can I get server response if (!response.isSucessful()) ?

I see code error. Raw response. Error body. But didn't see response from server. This is my error from server... how to get it from response?

        {  
 "message": "422 Unprocessable Entity", 
  "errors": {
            "lang": [
              "Lang required."
            ],
            "provider": [
              "Provider required."
            ] 
      },  
         "status_code": 422 }

回答1:


Using this you can get the error body

  if (response != null && response.errorBody() != null) {
    JSONObject jsonObject = new JSONObject(response.errorBody().string());
    String message = jsonObject.getString("message");
    String errors =  jsonObject.getString("errors");
  }


来源:https://stackoverflow.com/questions/38336599/retrofit-get-response-if-response-issucessful

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!