Releases: rollun-lc/rollun-openapi
Full support of RFC 3339
Написан валидатор DateTime, который наследуется от zend валидатора, но дописан для поддержки формата спецификации RFC 3339, section 5.6.
Для того чтобы изменения вступили в силу нужно обязательно нужно перегенерировать код, чтобы поменялся формат даты в анотациях сгенерированных DTO.
Но и без перегенерации код должен работать, просто со старым форматом дат.
6.0
Это должна была быть пятая версия, но случайно выпустил ее как шестую, так что пятой не будет.
Главное изменение:
Исправлен баг, о котором можно почитать тут #13 .
Изменения:
1. Обновлены библиотеки:
Articus/DataTransfer 0.2 => 0.3
Articus/PathHandler 0.4 => 0.5
У Articus своя система версионирования, и эти обновления ломают обратную совместимость, так что их можно считать мажорными.
Для совместимости с этими библиотеками значительно была измененная конфигурация, а так же переписаны некоторые классы. Но если вы пользовались генератором, только для того чтобы сгенерировать код и не переопределяли конфиг, или не наследовались от каких-то классов библиотеки, то вы не заметите перехода. Библиотека продолжит работать даже с кодом, сгенерированым в прошлых версиях. Но рекомендую все равно перегенерировать весь код.
2. Улучшена поддержка сторонних манифестов
Изменения из комимта 86d1d4f .
2.1 Теперь не обязательно объявлять теги в секции tags (на самом верхнем уровне, перед paths), достаточно чтобы теги были написаны в путях. Генератор их сам все соберет.
2.2. Добавлена возможность переопределять конфигурацию Api классов. Смотрите фабрики OpenAPI/Client/Factory/ConfigurationAbstractFactory
и OpenAPI/Client/Factory/ApiInstanceAbstractFactory
для подробностей
3. Валидация enum
Это изменения из версии 5.0.0, но для надежности напишу о нем тут тоже. Если вы объявляли в манифесте enum, то сгенерированый код теперь валидирует, чтобы значения поля попадали в этот enum и выдает ошибку, если нет. Так что перед обновлением проверьте везде ли вы придерживаетесь манифеста, и отдаете только те значения, которые описаны в enum.
Посмотреть все коммиты с изменениями можно тут #19
Fixed errror message
Merge pull request #18 from rollun-com/enum-validation-errors Fixed error message
Client requests and responses logs
Добавил логирование (уровень info) запросов и ответов для клиента. Чтобы заработало нужно перегенерировать клиентскую часть манифеста
Enum validation
Merge pull request #16 from rollun-com/4.x Release 4th version.
Fixed case problem with query params
Merge pull request #15 from rollun-com/orlyk-rollun-patch-1 Update openapi-client-generate.php
Fixed null response with no error messages on failure
Исправил проблему когда при ошибке декодинга ответа от сервера возвращался '{"data":null,"messages":null}', теперь в messages запишется возникшая ошибка.
Fixed NullPointerException
В этом месте проблема https://github.com/rollun-com/rollun-openapi/blob/428f73f94d3a35c1a53c8502fd739e43fb50e0fa/template/client/api.mustache#L196
Там происходит отправка запроса через клиента, и ожидается обьект Response. В случае исключения, предполагается что обьект Response будет в исключении. Но есть случаи, когда в исключении этого обьекта нет. Например, не смогли соединиться с хостом (\GuzzleHttp\Exception\ConnectException). Тогда получается в переменной $response будет null и от него дальше вызываются методы
Fixed NullPointerException
Same as 3.1.2