Retrofit2 Неприемлемый ответ - PullRequest
0 голосов
/ 18 июня 2020

На самом деле я пытаюсь получить ответ от своей конечной точки, но у меня возникла странная проблема: я получаю HTTP-код 406 в ответе на переоборудование.

Это тело моего запроса, который я отправляю:

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

когда я отправляю правильный OTP, я получаю ответ от своей конечной точки

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

но в случае, если я отправляю неправильный номер OTP, я получаю код ответа на модернизацию 406, что означает, что я ничего не получал от своей конечной точки.

NB: , когда я пытаюсь выполнить свой запрос from SOAP UI оба случая работают нормально, и это ответ неправильного случая otp:

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

Вы хоть представляете, что вызывает проблему?

1 Ответ

1 голос
/ 18 июня 2020

Я думаю, что модификация возвращает тот же ответ, что и ваш soap клиент, если запрос такой же. Если никакие перехватчики не задействованы.

Общая проблема заключается в том, что вы, вероятно, ожидаете, что в теле ответа будет ваш json, однако с Retrofit в случае неудачного ответа вы должны проверить errorbody вместо body затем вызовите string(), чтобы получить его содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...