Retrofit 2.0 OnFailure - 原始响应

2023-12-20

我在用着retrofit调用网络服务和改造会引发失败,来自“Throwable”的消息给了我

java.lang.IllegalStateException:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING

我假设这是因为 .Net Web 服务抛出错误并且不返回 JSON。但为了证明这一点,我需要能够看到原始响应onFailure。无论如何我可以做到这一点吗?

这是我正在使用的代码

public void userLoginRequestEvent(final AuthenticateUserEvent event) {

Call call = sApi.login(event.getUsername(), event.getPassword(), OS_TYPE, DeviceInfoUtils.getDeviceName());
call.enqueue(new Callback<LoggedInUser>() {
  @Override
  public void onResponse(Response<LoggedInUser> response, Retrofit retrofit) {
    // response.isSuccess() is true if the response code is 2xx

    if (response.isSuccess()) {
      LoggedInUser user = response.body();

      AppBus.getInstance()
              .post(new UserIsAuthenticatedEvent(user, event.getUsername(),
                      event.getPassword()));
    } else {
      int statusCode = response.code();

      // handle request errors yourself
    }
  }

  @Override
  public void onFailure(Throwable t) {
    // handle execution failures like no internet connectivity
    Log.d("ERROR", t.getMessage());
  }


});

您可以使用存在于okhttp-logging-拦截器 https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor.

一个很好的例子可以在使用 Retrofit 2 进行日志记录 https://stackoverflow.com/questions/32514410/logging-with-retrofit-2以及。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Retrofit 2.0 OnFailure - 原始响应 的相关文章

随机推荐

  • 避免“在数字 eq (==) 中不是数字”警告的最佳方法

    usr bin env perl use warnings use 5 12 2 my c f could be a number too if c eq d c 9 say Hello world 避免 Argument f isn t
  • 使用对象属性作为字典中的键

    我想使用对象属性作为字典的键 这可以做到吗 这样做的最终目标是使用它 以便可以在对象可能处于的各种状态下查看属性是否被锁定 这些锁定的值不会持久存在 仅存在于模型的业务规则中 查看字段是否被锁定的理想代码如下所示 bool ageLocke
  • 如何将列名作为参数传递给 dplyr 动词的函数?

    我不知道为什么将参数从自定义函数传递给group by不起作用 我只是通过一个colName从数据集中 当我运行自己的函数时 会出现错误 必须按 data 中找到的变量进行分组 未找到列 colName 在下面的示例中我使用quakesR环
  • GTK 在哪里找到与 gtk_image_new_from_icon_name() 一起使用的图标名称?

    GTK 可以通过 当前图标主题中的图标 的名称来构造图像 例如 usr bin env python import gtk wnd gtk Window img gtk Image img set from icon name go jum
  • 如何指定应在新克隆中检出哪个分支?

    在 Git 扩展中 用户可以在克隆存储库时指定哪个分支 可能不是master 应在生成的克隆中进行检查 我怎样才能在命令行上做到这一点 通常 答案就在手册页中 在git clone手册页 在这里 branch
  • 如何在 Spring JPA 中为quartz作业运行更新查询

    我在 spring 4 有一份quartz 工作 我正在使用 JPA hibernate 通过quartz 工作更新数据库值 但我得到了javax persistence TransactionRequiredException Execu
  • 升级 Android Gradle Plugin 7.1 后无法加载类 AndroidComponentsExtension

    我最近下载了Android Studio 大黄蜂 https developer android com studio releases bumblebee它询问我是否想要升级到 Android Gradle Plugin 7 1 0 该版
  • 以编程方式获取插件的 Jenkins 配置

    我正在尝试获取 并希望更改 Groovy 控制台内带有 Groovy 脚本的插件的 Jenkins 配置 我的具体示例是尝试更改publish over ssh插件的多个IP地址 通过命令行 编辑 xml 可以很容易地做到这一点 但是经过几
  • 使用 asyncio 创建最小的 HTTP 服务器

    虽然我熟悉 HTTP 服务器和事件循环 但在掌握 Python 的内部工作原理时遇到了一些困难asyncio https docs python org 3 library asyncio html 作为学习练习 我一直在尝试编写一个最小的
  • 如何将 jQuery .live() 转换为 .on() 并将事件绑定到此?

    我正在将已弃用的代码转换为 live API to on 参见jQuery 1 7 发行说明 http blog jquery com 2011 11 03 jquery 1 7 released 我附加了现场活动this在多个自定义 jQ
  • Android 设置超时时间的方法

    如果在特定时间段内服务器没有响应 是否有任何方法可以在 android 中设置超时 以下是我用于超时的代码 uri new URI url HttpGet method new HttpGet uri method addHeader Co
  • 您最喜欢用什么方法来检查 HTML COLOR 是否有效?

    我使用 C 和 ASP NET 4 WebControls 我的页面上有一个文本框 用户可以输入十六进制格式 ff0000 或 HTML 格式 红色 的 HTML 颜色 我最初的想法是 编写一个能够验证该用户输入的正则表达式太困难了 因此我
  • 如何通过 matplotlib 在矩形条上绘制温度(应力)?

    我尝试使用 matplotlib 库绘制梁的应力 我已经使用公式计算并绘制了它作为示例 如图 1 所示 您会看到绿色光束在元素 3 和元素 8 处具有更大的应力 因此如果我用彩虹渐变填充颜色 蓝色光束的整体颜色将相同 但绿色光束将具有不同的
  • 警报通知立即触发。安卓

    我正在开发一个提醒 它会在固定时间向用户发送通知 警报立刻响起 我尝试了大部分建议stackoverflow 但仍然有同样的问题 请帮我解决这个问题 服务器数据 user reminder id 75 name Morning Snacks
  • XSLT 文档功能 - 文件夹层次结构

    我正在使用 xslt 1 0 并尝试使用 XSLT 文档功能将样式表应用到文件夹层次结构 文件夹结构如下 但我似乎无法在网上找到任何关于如何执行此操作的可靠参考 a b c d e f 有没有一种方法可以通过文件夹 a 中的文件将样式表应用
  • 将二维数组转换为二维ArrayList?

    我有这段代码 int pattern new int 1 1 1 1 1 1 1 1 2 0 0 0 2 1 1 0 3 0 3 0 1 1 0 0 4 0 0 1 1 0 3 0 3 0 1 1 2 0 0 0 2 1 1 1 1 1 1
  • 从命令行运行垃圾收集器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以从命令行运行 NET 垃圾收集器 例如不写代码 Edit 当被问到这个问题时 我的意思正是这里对
  • 正则表达式仅允许 1-20 范围内的数字

    我想让用户输入0 20范围内的数字 他们都可以输入01和1 这就是我到目前为止所拥有的 1 9 0 1 9 1 0 9 2 0 但它不起作用 问题是 优先级低于 and 所以你的模式意味着 1 9 or 0 1 9 or 1 0 9 or
  • 在项目之间复制源代码时防止eclipse自动导入包

    当我将源代码从一个项目复制到另一个项目时 是否可以防止 Eclipse 自动导入任何模块 我只想复制源代码 然后重命名所有特定的类 我实际上不想使用其他项目中的类 在首选项窗口中 菜单 Windows Preferences 在搜索字段 左
  • Retrofit 2.0 OnFailure - 原始响应

    我在用着retrofit调用网络服务和改造会引发失败 来自 Throwable 的消息给了我 java lang IllegalStateException 预期为 BEGIN OBJECT 但在第 1 行第 1 列路径 处为 STRING