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

Отмена заказа реализована через GET: чем это опасно

В контракте описан эндпоинт, который отменяет заказ:

GET /api/v1/orders/{id}/cancel

На ревью контракта вы возражаете против такого решения. В чём его основная проблема?

  • GET не поддерживает передачу идентификатора в пути — идентификатор заказа нужно передавать в теле запроса
  • GET считается безопасным методом и не должен менять состояние: такой запрос могут повторить кэш, прокси или ретраи клиента
  • Проблема только в именовании: достаточно переименовать путь в `/orders/{id}/cancellation`, а метод можно оставить прежним
  • GET не может возвращать коды ошибок, поэтому клиент не узнает о неудачной отмене заказа

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

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

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

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