много try-except, по сути вьюхи состоят из жирного try-except.
в них происходит обработка типовых ошибок - например, если возникла какая-то проблема с бд, то кидаем на фронт server error, если key error - invalid request и т.д.
т.е. задача в том, чтобы фронт получал конкретную информацию о том, что именно пошло не так на сервере. нужно детализировать ошибки.
при этом все ошибки повторяются и обрабатываются в общем случае одинаково, поэтому я хочу вынести всю обработку ошибок в одно-единственное место в коде.
что для этого можно использовать?
Custom exception handler drf
Я делаю словарь с ошибками, типа такого: errors = { "error_foo": _("bar"), "error_bar": _("foo"), } Рядом с сериалайзерами. Потом ошибки вызываю так raise serializers.ValidationError(errors['error_foo'])
Это только ошибки валидации, ошибки вроде integrity error наверное так не выкинуть
Обсуждают сегодня