【问题标题】:Intercept the Validation error from Flask restplus namespace class拦截来自 Flask restplus 命名空间类的验证错误
【发布时间】:2018-12-27 08:21:30
【问题描述】:

目前命名空间解析器验证请求参数并抛出类似的错误

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

我想从烧瓶应用程序拦截或处理这些异常并发送自定义响应以保持一致性,例如 { “错误”:{ "file": "上传的文件中缺少必需的参数" }, "message": "输入有效载荷验证失败", "id" : "一些客户 id" }

是否可以从应用程序级别处理此异常,而不是为每个 api 都这样做

【问题讨论】:

    标签: flask exception-handling flask-restful flask-restplus


    【解决方案1】:

    根据这个问题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
    

    但是,没有干净的方法可以避免空字典返回,因为它被丢弃了。

    【讨论】:

      猜你喜欢
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多