实施 API 异常 flask-restful
Implementing API exception flask-restful
我正在尝试捕获当提供的 url 混乱且错误 url 时引发的异常,然后 return 错误响应为 JSON。这就是我为实现这个逻辑所做的。
当 key_id
不是 S3 的有效密钥时,分析 class 内部会引发异常。
def url_error(status_code, message, reason):
response = jsonify({
'status': status_code,
'message': message,
'reason': reason
})
response.status_code = status_code
return response
class RowColumnCount(Resource):
def get(self, key_id):
try:
rc = Analysis(key_id=key_id)
except S3ResponseError as e:
return url_error(e.status, e.message, e.reason)
json_response = json.loads(rc.count_rows_columns())
return json_response
上面的代码工作正常,但对于 50 个不同的资源 classes,它有点重复。每个资源 class 都应处理此特定错误。如何做装饰器,减少代码重复
我正在使用 Flask, Flask-Restful, Python 3.4.3
我正在尝试捕获当提供的 url 混乱且错误 url 时引发的异常,然后 return 错误响应为 JSON。这就是我为实现这个逻辑所做的。
当 key_id
不是 S3 的有效密钥时,分析 class 内部会引发异常。
def url_error(status_code, message, reason):
response = jsonify({
'status': status_code,
'message': message,
'reason': reason
})
response.status_code = status_code
return response
class RowColumnCount(Resource):
def get(self, key_id):
try:
rc = Analysis(key_id=key_id)
except S3ResponseError as e:
return url_error(e.status, e.message, e.reason)
json_response = json.loads(rc.count_rows_columns())
return json_response
上面的代码工作正常,但对于 50 个不同的资源 classes,它有点重复。每个资源 class 都应处理此特定错误。如何做装饰器,减少代码重复
我正在使用 Flask, Flask-Restful, Python 3.4.3