JSON error handlers

Return JSON instead of HTML for API errors.

flask beginner #api#errors#json
Abrir en el playground
flask-json-errors.py
from flask import Flask, jsonify
from werkzeug.exceptions import HTTPException

app = Flask(__name__)


@app.errorhandler(HTTPException)
def handle_http_error(exc):
    return jsonify(error={"code": exc.name.lower().replace(" ", "_"), "message": exc.description}), exc.code


@app.errorhandler(Exception)
def handle_unexpected(exc):
    app.logger.exception("unhandled error")
    return jsonify(error={"code": "server_error", "message": "Something went wrong"}), 500