Содержание

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

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