Вступить в клуб →
сложнаявопросREST API и валидация данных

Два менеджера редактировали один заказ, и изменения первого пропали

Менеджер А открыл карточку заказа и поменял адрес доставки. Одновременно менеджер Б открыл тот же заказ и поменял комментарий. Оба сохранили через PUT /orders/77 с полным объектом заказа. Б сохранил вторым — и адрес вернулся к старому.

Какое решение на уровне API предотвращает такую потерю?

  • Оптимистичная блокировка: версия в запросе, при расхождении — 409 или 412
  • Блокировать заказ в базе, пока карточка открыта у менеджера
  • Сохранять изменения, пришедшие по времени последними
  • Отправлять изменения не чаще раза в минуту

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

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

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

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