HTML で返された例外により、JSON クライアントが壊れます。この出力をjson化したいと思います。
詳細: この API アプリのエンドポイントであるビュー関数があります。
ご覧のとおり、この関数は結果を 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"
問題、未処理の例外は HTML にあります。
<!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">
これにより、json クライアントが壊れます。HTML形式は明らかにデフォルトですが、それをオプトアウトしてjson化された例外を指定する方法がわかりません(理想的には、ヘッダーでさえ返されたものをすべてjson化します)。
必要なものは優れた Flask ドキュメントのどこかにあると思いますが、見つかりません。