0
我正在通過Miguel Grinberg的Flask Web開發手冊的RESTful Web服務一章,他提到Flask可以自行或通過Web服務明確地生成錯誤。Flask錯誤與Web服務錯誤
對於由瓶產生的錯誤,他用類似下面的錯誤處理程序:
@main.app_errorhandler(404)
def page_not_found(e):
if request.accept mimetypes.accept_json and \
not request.accept_mimetypes.accept_html:
response = jsonify({'error': 'not found'})
response.status_code = 404
return response
return render_template('404.html'), 404
雖然Web服務產生的錯誤,沒有錯誤處理程序:
def forbidden(message):
response = jsonify({'error': 'forbidden', 'message': message})
response.status_code = 403
return response
我不真正理解瓶子生成錯誤與Web服務生成錯誤之間的區別。
那就是那個解釋。您是否理解爲什麼他使用第一個示例來引用Flask生成的錯誤,而第二個示例用於引用Web服務錯誤? – Brosef
因爲Flask會產生錯誤:它會嘗試找到一個路由而不會,所以它會產生一個404錯誤。這有點奇怪,因爲你也可以從你自己的代碼中「終止(404)」並仍然使用定製處理器。 – davidism