如何在Retrofit2中处理不同的JSON响应模型

时间:2016-11-28 12:37:41

标签: json models retrofit2

这是故事 - 通常使用Retrofit2登录案例。我发布登录&密码,如果一切正常,我可以使用Call

完成课程
{ 
    "status": 1,
    "payload": {
    "user_id": 123,
    "name": "User123",
    "email": "User123@mail.com",
    "gender": "m",
and so on...}

但如果用户不存在或密码不正确,我将获得

<Error>
{  
    "status": 2,
    "payload": "",
    "error": [
    {
      "field": "password",
      "message": "Email or Password is incorrect"
    }
 ]}

如何处理这种情况?我明白,如果(!responce.issuccess) - 但我需要知道出了什么问题 - 用户输入错误的密码或他的电子邮件未注册?我试图通过

来上课
if(responce.body.instanceof(UserData){
  //like ok
} else if (responce.bodu.instanceof(Error)){
  //get reason of error
}

但这不起作用。 使用POJO的所有规则创建的UserData和Error的类。

0 个答案:

没有答案