Что такое Breaking Change в Web API?
#architecture
Обратная совместимость (backward compatibility) одно из ключевых требований при выборе инструментов, библиотек, API и т.д. Нарушение обратной совместимости называет Breaking Change.
Примеры Breaking Change:
❌ Переименование полей. Добавьте новое, но оставьте старое.
❌ Изменение типа поля.
❌ Изменение http-кода ответа, например с 400 на 404. В REST приложениях клиент должен строит логику на основание этих кодов.
❌ Изменение значений по умолчанию. Например, раньше API отдавало все записи, а теперь только первые 50 элементов.
Команда разработки может игнорировать обратную совместимость, только если проект состоит из API и Single Page Application, которые доставляются одновременно. Если среди клиентов есть мобильное, десктоп приложение, то функциональность будет сломана пока пользователь не обновить приложение.
Хорошими практиками является версионирование API и пометка как deprecated для полей и endpoints. Если клиент использует версию старше, чем предоставляет сервер, то он может уведомить пользователя об необходимости обновления ПО.
Post #234
1.63K