Вступить в клуб →
средняявопросSpring Boot и REST API

Переименование поля в ответе публичного API

Эндпоинт GET /api/v1/orders/{id} отдаёт JSON. Чтобы привести ответ к общему стилю, разработчик переименовал поле client_id в customerId и выкатил изменение. Эндпоинтом пользуются три внешние команды.

Как корректно оценить это изменение?

  • Изменение ломающее: старое поле исчезло из ответа. Совместимый путь — добавить новое, какое-то время отдавать оба и согласовать дату отключения старого
  • Изменение безопасно: клиенты на Jackson по умолчанию игнорируют неизвестные поля, а лишнее поле никого не ломает
  • Изменение безопасно, достаточно обновить описание OpenAPI и уведомить внешние команды сразу после выката
  • Любое изменение структуры ответа требует нового пути /api/v2, поэтому и добавление новых полей недопустимо

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела