Я работаю над простым тестом Flask REST API и, например, когда я вызываю {{url}} / items, я получаю список элементов. Однако, если вызов передан конечной точке, которая не существует, например, {{url}} / itemsss, тогда я получаю ошибку 404 в html.
Я хотел бы сделать обработку ошибок более удобной и возвращать json вместо html для некоторых ошибок, таких как 400, 404,405 ...
Для 404, например, я попробовал это:
@app.errorhandler(404)
def not_found(e):
response = jsonify({'status': 404,'error': 'not found',
'message': 'invalid resource URI'})
response.status_code = 404
return response
Однако это не работает.
Моя проблема похожа на эту: Python Flask - ошибка json и html 404
Я хотел бы знать, если использование чертежей единственный способ сделать это?
Если существует более простой способ вывода ошибки 404 как json?
Например, вместо этого:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>
Примерно так:
{
error: true,
status: 404,
code: "error.notFound",
message: "API endpoint not found",
data: { }
}
Я ценю вашу помощь с этим.