改造。如果 (!response.isSucessful()) 得到响应

Posted

技术标签:

【中文标题】改造。如果 (!response.isSucessful()) 得到响应【英文标题】:Retrofit. Get response if (!response.isSucessful()) 【发布时间】:2016-11-15 03:37:43 【问题描述】:

在新的改造中,我正在调用并覆盖 2 种方法 onResponse 和 onFailure。

如果改造成功地解析了对我的类模型的响应,我可以让它变得简单 但是如果 (!response.isSucessful()) 我怎样才能获得服务器响应?

我看到代码错误。原始响应。错误正文。但没有看到服务器的响应。 这是来自服务器的错误...如何从响应中获取?

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

【问题讨论】:

【参考方案1】:

使用这个你可以得到错误正文

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

【讨论】:

这就是我需要的 -> response.errorBody().string()

以上是关于改造。如果 (!response.isSucessful()) 得到响应的主要内容,如果未能解决你的问题,请参考以下文章

在模块(android 库)中使用改造 2.4.0 时出现 NoClassDefFoundError

在我尝试显示结果后启动改造 API 调用

Python基础--快速改造:字符串

哪些应用适合Docker化改造

分布式改造剧集三:Ehcache分布式改造

腾讯云CDN零改造为您的APEX系统提速300%