Project

Общее

Профиль

Формат ошибок сервера от django-restframework

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

Варианты ответов с ошибкой 4xx + json

  • По ключу "detail" - связано не с валидацией полей, а с какой-то другой причиной. Это строка.
  • В случае, если с общей ошибкой необходимо отдавать какой-то код - ответ будет
{'_error_code': 'SomeCustomCode'}
{'_error_code': 'SomeCustomCode', 'message': 'Text message'}
{'_error_code': 'SomeCustomCode', 'message': 'Text message', 'some_other_data': ...}
  • По ключу "non_field_errors" - связано с относительно сложной валидацией, но не с каким-то одним конкретным полем, а, например, со взаимосвязью разных полей - хотя бы одно из полей не должно быть пустым, или поля password1 и password2 не совпадают. Или, например, такая комбинация данных не может быть записана в БД. Это массив.
  • В других случаях это ошибки валидации, поля с ошибками приходят в структуре, аналогичной структуре запроса, поля без ошибок исключаются из ответа. Для каждого поля - массив ошибок.