Содержание

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

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

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

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

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

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

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"
	}
	]
}