【问题标题】:Retrofit errorBody as hex将 errorBody 改造为十六进制
【发布时间】:2018-11-15 10:29:59
【问题描述】:

我在 Retrofit 中使用 errorBody 时遇到问题。 我们的服务器正在向错误响应添加消息。 当响应代码为 4** 并且它由服务器自行处理时 - 我得到正确的 errorBody(HttpException 中的字段)作为字符串。所以我只是用 Gson 序列化它。

但是当我尝试从 5 给出的响应中读取 errorBody 时出现问题** 由 ngnix 自己发送的响应。

在 Postman 中一切正常,我看到正确的“Body”。

我的 HttpInterceptor 也在记录我正确的响应正文字符串。

但是当我尝试使用 Retrofit 处理错误时 - HttpException 中的 errorBody 被写为 HEX。

为什么会这样? 我是否必须使用 HEX 转换器,或者我在 Retrofit 上做错了什么?

【问题讨论】:

    标签: android retrofit okhttp


    【解决方案1】:

    它只是十六进制的,因为没有人试图为你将它解码成字符。您可以通过在该缓冲区上评估 readUtf8() 在调试器中执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2011-07-28
      • 1970-01-01
      • 2013-09-27
      • 2015-02-14
      相关资源
      最近更新 更多