Status Code
base http code https://www.restapitutorial.com/httpstatuscodes.html
Перелік кодів
200: success
201: Created #
202: Accepted # Запит прийнято до обробки, але обробка не завершена.
204: No Content # для api при успішному запиті
206: Partial Content #
# request 400
400: Bad Request # bad params
401: Unauthorized #
402: Payment Required # API Key is required
403: Forbidden #
404: Not Found # content not found
405: Method Not Allowed #
408: Request Timeout # timeout
409: Conflict # Наприклад при створені валідація сервера insert / crud
# Тіло відповіді ПОВИННО містити достатньо інформації, щоб користувач міг
# розпізнати джерело конфлікту.
413: Request Entity Too Large # upload file
415: Unsupported Media Type # upload file
429: Too Many Requests # api limit
# response 500 - треба глянути які в нас винести в налаштування configServer Default
500: unhandled error
510: ContentListError Помилка роботи шаблонізатора
511: ApiError Помилка роботи з АПІ
#511: ApiFormatError Помилка роботи форматування
#512: CoreError Помилка core-компонентм
513: DBError Помилка при зверненні до БД
#514: DeprecationError Застаріла функція
515: FileError Помилка роботи з файлами
516: GisError Помилка роботи з картою
517: HelperError Помилка роботи з шаблонами
518: TimeoutError Помилка в звязку з вичерпанням часу, відведеного під виконання запиту
520: FormatError Помилка формування документа
521: URIErrorError Помилка у форматі URI
522: Violation of integrity error Порушення цілісності
523: RedisError Помилка роботи з redis
524: Cyrillic error Помилка роботи з кирилицею
525: TooManyClientDBError Перевищено максимальну кількість підключень
526: ResponseNullError Відсутня відповідь
527: EcpSignError Помилка авторизації за ЕЦП
#Code: 501 - Total: 5
#Code: 510 - Total: 189
#Code: 513 - Total: 5
#Code: 518 - Total: 113
#Code: 522 - Total: 42
#Code: 524 - Total: 132
#Code: 1000 - Total: 2329
Налаштування кодів помилок
Для налаштування власник кодів помилок їх необхідно вказати у файлі configServer.json
, що знаходиться за відносним шляхом /edesb-node/config/
. Приклад:
{
"errorCode": [
{
"status": 400, // Код помилки
"regex": "not valid|required", // Регулярний вираз
"name": "BadRequest" // Назва помилки
}
]
}
Стандартизовані коди
[
// 400 error
{ status: 400, regex: 'not valid|required', name: 'BadRequest' },
{ status: 404, regex: 'route not found', name: 'RouteNotFoundError' },
// api
{ status: 509, regex: 'unhandled', name: 'UnhandledError' },
{ status: 510, regex: 'dynamic_route|api|ReferenceError|Cannot set headers', name: 'ApiFormatError' },
{ status: 511, regex: 'api/format', name: 'ApiFormatError' },
{ status: 512, regex: 'response null', name: 'ResponseNullError' },
{ status: 513, regex: 'URIError|URI malformed', name: 'URIErrorError' },
{ status: 515, regex: 'o such file', name: 'FileError' },
{ status: 516, regex: 'json', name: 'JSONError' },
{ status: 518, regex: 'TimeoutError|timeout', name: 'TimeoutError' },
{ status: 517, regex: 'авторизац', name: 'AuthError' },
{ status: 519, regex: 'mail|smtp', name: 'MailError' },
{ status: 520, name: 'FormatError', title: 'Помилка формування документа' },
// db
{ status: 521, regex: 'null value in column|column|not-null constraint|database', name: 'DBError' },
{ status: 522, regex: 'violates|update or delete on table|terminating connection|conflict with recovery|on conflict do update', name: 'ViolationIntegrityError' },
{ status: 525, regex: 'sorry, too many', name: 'TooManyClientDBError' },
// helper
{ status: 531, regex: 'contentList', name: 'ContentListError' },
// service
{ status: 541, regex: 'EcpSignError', name: 'EcpSignError' },
{ status: 542, regex: 'Redis connection lost|hmset', name: 'RedisError' },
{ status: 543, regex: 'ssh|SSH|S#SH#', name: 'SshError' },
// gis
{ status: 551, regex: 'gdal', name: 'GdalError' },
]