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

Отмена заказа через GET /orders/17/cancel: чем опасен такой контракт

В сервисе есть ручка отмены заказа, реализованная как GET /orders/17/cancel. Она меняет статус заказа на «отменён».

Почему это плохое решение?

  • Проблема только в названии пути: по правилам REST он должен быть существительным — /cancellation
  • GET считается безопасным методом: его повторяют ретраи, кэшируют прокси, дёргают превью-боты
  • GET не может отдавать тело ответа, поэтому клиент не узнает результат отмены заказа
  • GET нельзя использовать с путями, в которых есть идентификатор конкретного ресурса

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

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

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

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