Ответы на запросы методов API
При работе с API ориентируйтесь на HTTP-статус ответа. Ниже приведены наиболее распространённые коды и рекомендации по действиям.
✅ 200 — Успешно
Что означает: — Запрос успешно обработан.
Когда возникает:
При получении данных (GET), обновлении (PUT/PATCH) или успешной операции.
Что делать:
Использовать данные из тела ответа.
✅ 201 — Успешно создано
Что означает: — Ресурс успешно создан.
Когда возникает:
При создании нового объекта (POST).
Что делать:
Сохранить ID созданного объекта из ответа.
✅ 204 — Нет содержимого
Что означает: — Операция выполнена успешно, но тело ответа отсутствует.
Когда возникает:
При успешном удалении (DELETE) или обновлении без возврата данных.
Что делать:
Дополнительных действий не требуется.
⚠ 400 — Неверный запрос (Bad Request)
Что означает: — Запрос содержит ошибки.
Возможные причины:
- Некорректный формат данных
- Отсутствие обязательных параметров
- Ошибка валидации
Что делать:
- Проверить структуру запроса.
- Убедиться, что все обязательные поля переданы.
- Проанализировать текст ошибки в ответе.
🔐 401 — Не авторизован
Что означает: — Отсутствует или неверен токен авторизации.
Что делать:
- Проверить корректность токена.
- Убедиться, что токен не истёк.
- Повторно пройти авторизацию.
⛔ 403 — Доступ запрещён
Что означает: — Доступ к ресурсу запрещён.
Возможные причины:
- Недостаточно прав
- Ограничение по роли пользователя
Что делать:
Проверить права доступа или обратиться к администратору.
⚠ 404 — Не найдено
Что означает: — Ресурс не существует.
Возможные причины:
- Неверный URL
- Ошибка в ID
- Объект удалён
Что делать:
Проверить корректность адреса и параметров запроса.
⚠ 409 — Конфликт
Что означает: — Конфликт данных (например, ресурс уже существует).
Когда возникает:
При попытке создать дубликат или изменить данные в недопустимом состоянии.
Что делать:
Проверить логику запроса и текущее состояние ресурса.
⏳ 429 — Слишком много запросов
Что означает: — Превышен лимит запросов (rate limit).
Что делать:
- Уменьшить частоту запросов.
- Повторить запрос позже.
- Использовать задержки или очередь запросов.
❌ 500 — Внутренняя ошибка сервера
Что означает — Ошибка на стороне сервера.
Что делать:
- Повторить запрос позже.
- Проверить корректность передаваемых данных.
- При повторении ошибки обратиться в поддержку.
🔧 502 / 503 — Временная недоступность
502 Bad Gateway — ошибка шлюза.
503 Service Unavailable — сервис временно недоступен (перегрузка, техработы).
Что делать:
Повторить запрос через некоторое время.
📌 Рекомендации
- Всегда анализируйте тело ответа — оно содержит описание ошибки.
- Логируйте коды ответов и текст ошибок.
- Реализуйте обработку повторных попыток для 429, 502, 503 и 500.
- Для 4xx ошибок сначала проверяйте корректность запроса.