Формат ошибок сервера от 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 не совпадают. Или, например, такая комбинация данных не может быть записана в БД. Это массив.
- В других случаях это ошибки валидации, поля с ошибками приходят в структуре, аналогичной структуре запроса, поля без ошибок исключаются из ответа. Для каждого поля - массив ошибок.