3

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

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

从烧瓶应用程序中,我想拦截或处理这些异常并发送自定义响应以保持一致性,例如 { "errors": { "file": "Missing required parameter in an Uploaded file" }, "message": "Input payload validation失败”,“id”:“一些客户 id”}

是否可以从应用程序级别处理此异常,而不是为每个 api 执行此操作

4

1 回答 1

3

根据这个问题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-11-21T16:51:03.967 回答