Выбор ответа Senior REST и документация API обновлено

Какое изменение API ломающее

Вопрос

Какое изменение ответа API обычно не ломает существующих клиентов?

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

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

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

Коротко

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

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

  1. Переименовать поле userId в user_id
  2. Сделать необязательное поле запроса обязательным
  3. Поменять тип поля с числа на строку
  4. Добавить новое необязательное поле в ответправильный ответ

Разбор

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

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

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

Термины по теме