TGViewer
Системный аналитик с нуля | Альбина Гараева Системный аналитик с нуля | Альбина Гараева @garaeva_it · 1.09K subscribers
Post #1021 274
Стандартизация кодов и форматов ошибок в API

Продолжим говорить про описание API и рассмотрим еще одну вещь, про которую часто забывают. И это ошибки. Точнее, как именно система их возвращает.

На моём опыте, если это не зафиксировать заранее, начинается хаос:
• в одном методе ошибка приходит строкой
• в другом объектом
• тексты разные, структура разная
И, как всегда, если что-то не описано, разработчики делают «как удобно», QA не понимает, что проверять, а фронт пишет костыли под каждый случай

Так что важно стандартизировать?

Я обычно фиксирую 2 вещи:

1. HTTP-коды
Минимальный базовый набор:
• 200 / 201 — успех
• 400 — ошибка запроса
• 401 / 403 — доступ
• 404 — не найдено
• 409 — конфликт
• 429 — превышен лимит
• 500 — внутренняя ошибка
Важно придерживаться единой логики во всех методах

2. Формат ошибки (самое важное)

Я почти всегда задаю единый формат:
{
  "code": "INVALID_EMAIL",
  "message": "Некорректный формат email",
  "details": {
    "field": "email"
  }
}


Что ещё важно продумать
• детализацию (какое поле, что не так)
• консистентность (одна ошибка = один формат всегда)

Важно! не забываем про безопасность
С одной стороны, ошибки должны быть понятными. С другой нельзя раскрывать внутреннюю логику системы.

Плохая практика писать в ошибках название метода в конкретном сервисе или детали SQL-запросов.
Поэтому я обычно придерживаюсь баланса: наружу понятное, но общее сообщение, внутрь (логи) уже полная техническая информация для разработчиков.

Всё это мы согласуем с командой, и сюрпризов возникнуть не должно.

Так что если проектируете API, обязательно продумайте этот блок.

Сохраняйте и используйте в работе ✔️
  • 🔥 10
  • 👍 4
  • ✍ 3
  • 👏 1
More from @garaeva_it
  1. Jun 21, 20265 продуктов, которые закроют ваши главные пробелы Друзья, собрала для вас всё в одном мест…
  2. Jun 19, 2026Дорогие студенты, благодарю вас за ваши прекрасные #отзывы Делюсь отзывом Алии, она работа…
  3. Jun 17, 2026Чтобы вы перестали гадать и начали проектировать логику взаимодействия осознанно, я открыв…
  4. Jun 15, 2026Надо ли системному аналитику разбираться в проектировании интерфейсов? Не раз слышала от с…
  5. Jun 13, 2026Вчера я писала о том, как незнание процессов превращает аналитика просто в создателя ТЗ, к…
  6. Jun 12, 2026«ТЗ готово, но задача не двигается»: почему аналитику критично понимать процессы разработк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →