定义Flask Restful API的自定义错误信息

4 投票
1 回答
1328 浏览
提问于 2025-04-18 16:56

我在定义自己的错误自定义信息时遇到了一些问题。我不太确定自己是否做对了,但我在尝试按照文档的说明来做:

http://flask-restful.readthedocs.org/en/latest/extending.html#define-custom-error-messages

这是我的代码:

from flask import Flask
from flask.ext import restful
myerrors = {
    'CannotFind':{
        'message':'We could not find it!',
        'status':404
    }
}
app = Flask(__name__)
api = restful.Api(app, errors = myerrors)

但是当我运行这个程序时,我遇到了一个错误:

TypeError: __init__() got an unexpected keyword argument 'errors'

文档上说 一旦你的错误字典定义好,就把它传给Api构造函数,我不是这样做了吗?

我还注意到文档中使用了:

api = flask_restful.Api(app, errors=errors)

所以我以为我使用的方式不对,于是我尝试导入那个flask_restful,但它并不存在……

现在我很困惑,请帮帮我!

1 个回答

8

当你通过pip安装flask-restful时,得到的版本是v0.2.12。

这个版本没有flask_restful.API.__init__中的errors这个参数,具体可以查看这个github链接

如果想要使用errors这个参数,你需要从github上安装更新的代码。关于怎么做,有详细的说明可以在flask-restful的安装页面找到。

编辑:截至2014年11月23日,这个回答不再适用,因为flask-restful的v0.3.0版本已经发布,并且可以在pypi上找到。

撰写回答