在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来做到这一点?
答案 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"}