在Flask-Restful中输出异常消息

时间:2015-09-24 21:25:01

标签: python flask flask-restful

在Flask-Restful中,可以在引发某个特定异常时定义特定的静态消息:

errors = {
           'SomeException': {
            'message': 'Some custom error message',
            'status': 500,
        }
}

api_bp = Blueprint('my_bp', __name__)
api = Api(api_bp, errors=errors)

问题是我的SomeException包含我想在响应中返回的数据。有办法吗?使用纯Flask,我可以创建一个包含所有需要逻辑的函数,并使用errorhandler装饰器进行装饰。

但是我如何使用Flask-Restful来做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以在abort()调用中定义错误消息。

if something_is_wrong:
    custom_message = 'Here is my custom error'
    abort(400, message='There is an error: ' + custom_message)

这将中止脚本并在正文中返回HTTP状态400响应:

{"message":"There is an error: Here is my custom error"}