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

API отвечает 200 OK с телом {"success": false}

На попытку регистрации с занятым e-mail API отдаёт HTTP 200 и тело:

{"success": false, "error": "e-mail уже используется"}

Мобильное приложение показывает пользователю пустой экран, а на дашборде ошибок API их количество равно нулю. Что здесь не так?

  • Ничего критичного: флага success в теле достаточно, а коды 4xx предназначены для ошибок веб-сервера и маршрутизации, а не для логики приложения
  • Код ответа — часть контракта: по 200 клиенты и мониторинг считают запрос успешным, ошибка не попадает в метрики. Для ошибки валидации нужен статус 4xx
  • Проблема в кэшировании: ответ 200 прокси и браузеры кэшируют по умолчанию, а 4xx не кэшируется никогда, поэтому клиент видит устаревший ответ
  • Проблема только в формате тела: текст ошибки следует возвращать строкой, а не объектом, иначе клиентские SDK не могут её разобрать

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

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

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

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