Обработка ошибок
HTTP-коды статуса
API использует стандартные HTTP-коды для обозначения успеха или ошибки:
| Код | Название | Описание |
|---|---|---|
| 200 | OK | Запрос успешен |
| 201 | Created | Ресурс успешно создан |
| 400 | Bad Request | Неверные данные запроса или ошибка валидации |
| 401 | Unauthorized | Требуется аутентификация или токен недействителен |
| 403 | Forbidden | Доступ запрещён - недостаточно прав |
| 404 | Not Found | Ресурс не найден |
| 409 | Conflict | Конфликт - ресурс уже существует |
| 500 | Internal Server Error | Внутренняя ошибка сервера |
Формат ответа с ошибкой
Ответы с ошибками включают сообщение об ошибке и опциональный массив деталей:
{
"error": "Validation failed",
"details": [
"email: This value is not a valid email address.",
"password: Password must be at least 8 characters."
]
}
Ошибки аутентификации
Неверные учётные данные
HTTP/1.1 401 Unauthorized
{
"code": 401,
"message": "Invalid credentials."
}
Токен истёк
HTTP/1.1 401 Unauthorized
{
"code": 401,
"message": "Expired JWT Token"
}
Токен отсутствует
HTTP/1.1 401 Unauthorized
{
"code": 401,
"message": "JWT Token not found"
}
Ошибки валидации
При ошибке валидации ответ включает детальные сообщения об ошибках для каждого поля:
Пример ошибки валидации
HTTP/1.1 400 Bad Request
{
"error": "Validation failed",
"details": [
"name: This value should not be blank.",
"email: This value is not a valid email address.",
"password: Password must contain at least one uppercase letter."
]
}