Обработка ошибок
Все ошибки API возвращаются в едином формате, использующем стандартные коды ответа HTTP.
Формат ошибки
{
"code": 400,
"error": "человеко-читаемое описание ошибки",
"request_id": "a1b2c3d4e5f67890",
"details": { ... }
}
Описание полей:
-
code— HTTP-код ответа; -
error— человеко-читаемое сообщение об ошибке; не содержит технических деталей; -
request_id— уникальный идентификатор запроса, используемый для трассировки в логах сервера; -
details— используется в логах сервера для отладки.
Коды ответа HTTP
| Код | Описание | Типичные случаи |
|---|---|---|
|
Успех |
GET, PUT, DELETE успешны; возврат данных |
|
Создано |
Успешное создание зоны, записи, узла или делегирования |
|
Удалено |
Успешное удаление записи, узла, зоны или делегирования (нет тела ответа) |
|
Частичный успех |
Пакетная операция ( |
|
Ошибка запроса |
Невалидные параметры, отсутствие обязательных полей, SOA-ограничения, неверный формат данных |
|
Не авторизован |
Отсутствует или невалиден Kerberos-билет (SPNEGO) |
|
Доступ запрещен |
RBAC-политики Casbin: пользователь не имеет требуемой роли (например, |
|
Не найдено |
Зона, запись, узел, делегирование или партиция отсутствуют |
|
Конфликт |
Зона существует в нескольких партициях ( |
|
Неприменимо |
Пустой список |
|
Внутренняя ошибка |
Ошибка LDAP, DCE/RPC, кэша, базы данных или внутренней логики сервера |
|
Не реализовано |
Запрошенный тип зоны или операция не поддерживается в текущей версии |
Обновлено: