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()
来获取它的内容。
实际上我正在尝试从我的端点获取响应,但我遇到了一个奇怪的问题,我在 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()
来获取它的内容。