Перехватить ошибку проверки из класса пространства имен Flask restplus

В настоящее время анализатор пространства имен проверяет аргументы запроса и выдает ошибку вроде

{
    "errors": {
        "file": "Missing required parameter in an uploaded file"
    },
    "message": "Input payload validation failed"
}

Из приложения фляги я хочу перехватить или обработать эти исключения и отправить настраиваемый ответ для согласованности, например { "errors": { "file": "Отсутствует обязательный параметр в загруженном файле" }, "message": "Проверка ввода полезной нагрузки fail ", "id": " некоторый идентификатор клиента "}

Можно ли обработать это исключение на уровне приложения вместо того, чтобы делать это для каждого API?

0 ответов

Согласно этой проблеме https://github.com/noirbizarre/flask-restplus/issues/530 существует обходной путь для создания персонализированного сообщения.

Тем не менее, это можно реализовать с помощью определения обработчика ошибок BadRequest и изменить атрибут данных:

@api.errorhandler(BadRequest)
def bad_request(self):
    self.data.update({'id': 'some customer id'})

    return {}, 400

Однако нет чистого способа избежать возврата пустого словаря, поскольку он отбрасывается.

Другие вопросы по тегам