0
我想趕上當提供的URL是一個混亂和錯誤的URL,然後返回錯誤響應爲JSON時引發的異常。這是我爲了實現這個邏輯而做的。實現API異常燒瓶寧靜
當key_id
不是S3的有效密鑰時,在Analysis類中引發異常。
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個不同的資源類。每個資源類應該處理這個特定的錯誤。如何使它成爲裝飾器,從而減少代碼重複性。
我用的燒瓶,燒瓶寧靜,巨蟒3.4.3