将 errorBody 改造为十六进制
Retrofit errorBody as hex
我在 Retrofit 中使用 errorBody 时遇到问题。
我们的服务器正在向错误响应中添加消息。
当响应代码为 4** 并且它由服务器自行处理时 - 我得到正确的 errorBody(HttpException 中的字段)作为字符串。所以我只是用Gson序列化它。
但是当我尝试从 5 给出的响应中读取 errorBody 时出现问题**
由 ngnix 自己发送的响应。
在 Postman 中一切正常,我看到正确的 "Body"。
我的 HttpInterceptor 也在记录正确的响应正文字符串。
但是当我尝试使用 Retrofit 处理错误时 - HttpException 中的 errorBody 被写为 HEX。
为什么会这样?
我必须使用 HEX 转换器还是我在 Retrofit 上做错了什么?
它只是十六进制的,因为没有人试图为你将它解码成字符。您可以通过在该缓冲区上评估 readUtf8()
在调试器中执行此操作。
我在 Retrofit 中使用 errorBody 时遇到问题。 我们的服务器正在向错误响应中添加消息。 当响应代码为 4** 并且它由服务器自行处理时 - 我得到正确的 errorBody(HttpException 中的字段)作为字符串。所以我只是用Gson序列化它。
但是当我尝试从 5 给出的响应中读取 errorBody 时出现问题** 由 ngnix 自己发送的响应。
在 Postman 中一切正常,我看到正确的 "Body"。
我的 HttpInterceptor 也在记录正确的响应正文字符串。
但是当我尝试使用 Retrofit 处理错误时 - HttpException 中的 errorBody 被写为 HEX。
为什么会这样? 我必须使用 HEX 转换器还是我在 Retrofit 上做错了什么?
它只是十六进制的,因为没有人试图为你将它解码成字符。您可以通过在该缓冲区上评估 readUtf8()
在调试器中执行此操作。