Выбор ответа Middle REST API и OpenAPI спрашивают часто обновлено

Ломающее изменение API

Вопрос

Какое изменение в ответе публичного API ломает обратную совместимость?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Переименовать поле price в amount. Клиенты, которые читают price, после переименования получат пустое значение.

Варианты ответа

  1. Переименовать поле price в amountправильный ответ
  2. Добавить необязательный query-параметр currency
  3. Добавить новое необязательное поле discount
  4. Добавить новый эндпоинт GET /orders/{id}/receipt

Разбор

Клиенты, которые читают price, после переименования получат пустое значение. Добавить новое поле, эндпоинт или необязательный параметр безопасно: старые клиенты их просто не используют. Переименование делают через новую версию или период, когда отдаются оба поля.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.