wyjątki zwrócone w HTML łamią mojego klienta JSON. Chcę jsonifikować to wyjście.API w kolbie - zwraca JSON, ale wyjątki HTML łamią mojego klienta JSON
Więcej szczegółów: Mam funkcję widoku, która jest punktem końcowym tej aplikacji api.
Jak widać, ta funkcja zwraca wynik w json.
@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"
Problem nieobsługiwany wyjątek są w HTML, na przykład,
<!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">
To łamie mój klient JSON. Format HTML jest niewątpliwie domyślny, ale nie wiem, jak go wyłączyć i określić jsonowane wyjątki (i idealnie jsonować wszystko zwracane nawet nagłówki).
Podejrzewam, że to, czego potrzebuję, znajduje się w doskonałej dokumentacji Flask, ale nie mogę go znaleźć.
Próbujesz zachować komunikaty o błędach i wysłać je jako JSON na wypadek, gdyby coś poszło nie tak? – Blender
@Blender, tak, właśnie tego chcę. – doug