Сгенерированный Swagger API-клиент больше не возвращает объект - PullRequest
0 голосов
/ 16 февраля 2019

Я использую сгенерированный swagger клиент php-api для esi api от eve online.Я использовал для генерации клиента с codegen-cli-2.3.1.Я сгенерировал новый клиент с codegen-cli-2.4.1.Это создает проблемы, потому что клиентские функции больше не возвращают объекты, а массивы.

С 2.3.1 я получил бы что-то вроде этого:

object(Swagger\Client\Model\GetCharactersCharacterIdContracts200Ok)#45 (1) {
    ["container":protected]=>
    array(22) {
    ["assignee_id"]=>
    int(92016026)
    }
}

и получить значения, которые я бы сделал $result->getAssigneeId() потому что это - то, что генерирует чванство.

с 2.4.1 я получаю это:

array(19) {
    ["assignee_id"]=>
    int(92016026)
}

, где я могу просто сделать $result["assignee_id"].

Теперь, незначительныйверсии не должны нарушать обратную совместимость, верно?Или развязность как концепция не должна обновляться?Как, например, когда вы начинали с одной версии codegen-cli, вы просто придерживались ее для создания будущих клиентов API?

Так что я могу выбрать только остаться с 2.3.1 или обновить до 2.4.1 ипройти весь мой код, чтобы изменить соответствующие области?

...