Наиболее полный безопасный вариант — добавить совместимое поле или версию API, закрепить контракт тестами и объявить срок миграции. Немедленная смена типа может сломать выпущенные клиенты.
Совместимое изменение API: новое поле и план миграции
Наиболее полный безопасный вариант — добавить совместимое поле или версию API, закрепить контракт тестами и объявить срок миграции. Немедленная смена типа может сломать выпущенные клиенты.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Практическое задание
Нужно изменить тип публичного поля amount в REST API, которым пользуются 12 клиентов. Какой путь безопаснее перед релизом?
- Изменить поле сразу и быстро исправлять ошибки.
- Довериться совету AI без проверки потребителей.
- Добавить совместимое новое поле или версию API, закрепить контракт тестами и объявить срок миграции.
- Изменить только документацию API.
- Добавить новое поле, оставить старое и наблюдать за использованием.
- Попросить клиентов обновиться до релиза и изменить поле.
Ответ
Наиболее полный безопасный вариант — добавить совместимое поле или версию API, закрепить контракт тестами и объявить срок миграции. Немедленная смена типа может сломать выпущенные клиенты.
Добавить новое поле и наблюдать за использованием старого — полезная часть такого перехода, но без согласованного срока и контрактных проверок план неполон. Проверьте сериализацию, точность, допустимые значения и обработку ошибок всеми 12 потребителями. Предупреждение в документации или совет AI не заменяют проверки. Старый контракт удаляют после подтверждённой миграции клиентов и окончания объявленного периода совместимости.