Инструменты пользователя

Инструменты сайта

  • ru

Ошибки сервиса

HTTP-коды ответа

Для указания типа ошибки в ответе сервера, используются стандартные HTTP-коды 4xx-5xx, такие как:

4xx: Client Error (ошибка клиента):

  • 400 Bad Request («неверный запрос»)
  • 401 Unauthorized («не авторизован»)
  • 403 Forbidden («запрещено»)
  • 404 Not Found («не найдено»)
  • 415 Unsupported Media Type («неподдерживаемый тип данных»)

5xx: Server Error (ошибка сервера):

  • 500 Internal Server Error («внутренняя ошибка сервера»)
  • 501 Not Implemented («не реализовано»)
  • 503 Service Unavailable («сервис недоступен»)

Тело ответа - содержимое

4xx: Client Error (ошибка клиента):

Тело ответа: объект Error. В свойстве ValidationErrors может находиться массив объектов ValidationError, описывающих некорректные входные данные.

5xx: Server Error (ошибка сервера):

Тело ответа: объект Error.

Поля класса Error

Имя Тип Обязательное Описание
ErrorCode string Внутренний код ошибки сервиса
ErrorText string Подробное описание ошибки
ValidationErrors array массив объектов ValidationError

Следует указывать ErrorCode, используя стандартные коды ответа HTTP, до тех пор, пока это возможно. Список дополнительных кодов ошибки подлежит обсуждению. Для дополнительных кодов не следует использовать значения, меньшие 1000, чтобы избежать путаницы со стандартными HTTP-кодами.

Поля класса ValidationError

Имя Тип Обязательное Описание
EntityType string Тип переданной с клиента сущности с некорректными данными. Например: «Profile», «Subscription».
EntityId string ID сущности
PropertyName string Название поля
PropertyValue string Значение поля
ErrorCode string Внутренний код ошибки
ErrorText string Подробное описание ошибки

Тело ответа - пример

{
	"ErrorCode": "BFG-12-21",
	"ErrorText": "Incorrect profile data",
	"ValidationErrors": 
	[
	{
		"EntityType": "Profile",
		"EntityId": "81844649-4a04-49dc-85a8-56c975597ded",
		"PropertyName": "Email",
		"PropertyValue": "foo@bar",
		"ErrorCode": "ZZ-18",
		"ErrorText": "wat"
	},	
	{
		"EntityType": "Profile",
		"EntityId": "81844649-4a04-49dc-85a8-56c975597ded",
		"PropertyName": "Login",
		"PropertyValue": "qwe",
		"ErrorText": "Too short"
	}
	]
}