Динамическая реакция Retrofit - PullRequest
0 голосов
/ 25 мая 2018

Мой ответ Json зависит от того, успешно он или нет.

Unsuccessful example:
{
    "success": false,
    "errors": {
        "email": "Could not find email address"
    }
}

Успешный пример:

{
    "success": true,
    "user": {
        "id": 6,
        "fname": "XXXXXX",
        "lname": "XXXXXX",
        "email": "Username@mail.ca",
        "roles": [
            "Player"
            "Coach"
            "manager",
            "Admin"
        ]
        "date_registered": "2018-03-16T17: 49: 05.000Z"
    }
    "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiJiNjU1MDVkOGJiYzZhMTg1Y2E5MjU5NDlmNTU0OTc0MTgzM2Y2N2NiNjFjYThkMzNkMTUxY2U2MDhjMTBmNTllIiwiaWF0IjoxNTI3MjY3MzEwLCJleHAiOjE1Mjc4NzIxMTB9.p5pTlNjTsr-8N_8B3M5fW3T6PTTrcFo8D77N0WWgA3c"
}

Теперь я хочу иметь POJO для обоих одновременно сдооснащение.

Спасибо

Редактировать: Я только что решил проблему, изменив форму JSON на:

{
"success": true,
"data": {
    "user": {
        "id": 6,
        "fname": "XXXXXXX",
        "lname": "XXXXXXXX",
        "email": "Username@mail.ca",
        "roles": [
            "player",
            "coach",
            "manager",
            "admin"
        ],
        "activation_state": 0,
        "date_registered": "2018-03-16T17:49:05.000Z"
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiI0MTFlZmI5Y2ExYzY1ZWFlYzQ4Yzg1ZjJkYTQwOThmODBjOTk1NWNjNjcyOTNlODI5NmI4N2RjZWY5OTMzYzljIiwiaWF0IjoxNTI4NDI0MDA1LCJleHAiOjE1Mjg0MjQ2MDl9.lTsQ867Lk78RV2ruaQFyxUNfm58bHpfzEsZnvKJQMXQ"
},
"errors": {}

}

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Скопируйте свой ответ json и пройдите http://pojo.sodhanalibrary.com/ Затем отправьте. Вы получите несколько классов pojo относительно вашего ответа,

0 голосов
/ 25 мая 2018

Вы можете просто вернуть String Retrofit, а затем проанализировать его вручную.

Если нет, то вам нужно создать объект POJO, содержащий все переменные из обоих объектов.

И затемво время выполнения вы проверяете, является ли «success» истинным / ложным, а затем пытаетесь получить доступ к основным переменным.

...