Retrofit2 不可接受的响应

Retrofit2 Not acceptable response

实际上我正在尝试从我的端点获取响应,但我遇到了一个奇怪的问题,我在 Retrofit 响应中收到了 406 HTTP 代码。

这是我要发送的请求的正文:

   {
    "login":"34413",
    "otp":"51131"
    }

当我发送正确的 OTP 时,我从我的端点收到响应

{
   "statusResponse":    {
      "statusCode": 200,
      "success": succes
   },
   "person": [object person],
   "token": "...."
}

但如果我发送了错误的 OTP 号码,我会收到一个改装响应代码 406,这意味着我没有从我的端点收到任何东西。

注意: 当我尝试来自 SOAP UI 的请求时,两种情况都工作正常,这是错误的 otp 情况的响应:

    {
   "statusResponse":    {
      "statusCode": 406,
      "success": false
   },
   "person": null,
   "token": null
}

您知道导致问题的原因吗?

我认为只要请求相同,retrofit 就会返回与您的 soap 客户端相同的响应。如果不涉及拦截器。

常见的问题是您可能希望响应正文包含您的 json,但是使用 Retrofit 以防响应不成功,您必须检查 errorbody而不是 body 然后调用 string() 来获取它的内容。