In HTML zurückgegebene Ausnahmen brechen meinen JSON-Client. Ich möchte diese Ausgabe jsonifizieren.API in Flask - gibt JSON zurück, aber HTML-Ausnahmen brechen meinen JSON-Client
Weitere details: ich habe eine View-Funktion, die ein Endpunkt dieser API app.
Wie Sie sehen können, gibt diese Funktion das Ergebnis in json zurück.
@app.route('/route1')
def api_route1():
if user_id in request.args:
k1 = request.args['user_id']
return flask.jsonify(recs=some_function(k1))
else:
return "no valid user_id supplied"
Das Problem sind nicht behandelte Ausnahme in HTML, zum Beispiel
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>TypeError: 'NoneType' object is not iterable // Werkzeug Debugger</title>
<link rel="stylesheet"
href="?__debugger__=yes&cmd=resource&f=style.css"
type="text/css">
Das bricht mir json-Client. Das HTML-Format ist eindeutig ein Standard, aber ich weiß nicht, wie ich es ablehnen und jsonified Ausnahmen angeben kann (und idealerweise jsonify alles zurückgegebene sogar Header).
Ich vermute, was ich brauche, ist irgendwo in der ausgezeichneten Flask-Dokumentation, aber ich kann es nicht finden.
Sie versuchen also, die Fehlermeldungen zu erhalten und sie als JSON zu senden, falls etwas schief geht? – Blender
@Blender, ja, das ist was ich will. – doug