HTML 中返回的异常会破坏我的 JSON 客户端。我想 jsonify 这个输出。
更多细节:我有一个视图函数,它是这个 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 格式显然是默认格式,但我不知道如何选择退出并指定 jsonified 异常(理想情况下 jsonify 任何返回的甚至是标头)。
我怀疑我需要的是优秀的 Flask 文档中的某个地方,但我找不到它。