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