Возврат ошибок
Все ошибки от API возвращаются всегда в Json формате.
Если веб метод не найден, вернется 404 NotFound
{
"ErrorMessage": "/testerror1 не найден",
"HttpStatusCode": 404,
"HttpStatusMessage": "NotFound"
}
Если произошла непредвиденная ошибка при обработке SQL, вернется 500 InternalServerError
{
"ErrorMessage": "Could not find stored procedure 'xxx'.",
"HttpStatusCode": 500,
"HttpStatusMessage": "InternalServerError"
}
При этом ErrorMessage будет заполнено только если API запущено в режиме Development. В остальных режимах клиент не узнает подробности ошибки. Искать ее следует в логах.
Если произошла не SQL ошибка, вернется 400 BadRequest
{
"ErrorMessage": "........",
"HttpStatusCode": 400,
"HttpStatusMessage": "BadRequest"
}
При этом ErrorMessage будет заполнено только если API запущено в режиме Development. В остальных режимах клиент не узнает подробности ошибки. Искать ее следует в логах.
Если метод необходимо запускать с авторизацией, но этого сделано не было, вернется 401 Unauthorized
{
"ErrorCode": 11,
"ErrorMessage": "Сессия истекла. Перезапустите приложение.",
"HttpStatusCode": 401,
"HttpStatusMessage": "Unauthorized"
}
Если произошла управляемая ошибка, через вызов SY_RaiseError, вернется 400 BadRequest
{
"ErrorCode": 10,
"ErrorMessage": "Ошибка",
"HttpStatusCode": 400,
"HttpStatusMessage": "BadRequest"
}
ErrorCode - код ошибки, переданный в SY_RaiseError
ErrorMessage - сообщение, переданное в SY_RaiseError
Код ошибки должен быть зарегистрирован в таблице SY_ErrorTypes. Для общей ошибки используйте код 10, уточняя детали в сообщении.
Пример вызова
exec SY_RaiseError 10, 'Ошибка'
Last updated
Was this helpful?