【发布时间】:2020-01-17 11:00:14
【问题描述】:
我使用烧瓶制作了一个 API 应用程序,它接受一个数字(十进制)作为输入并返回一些字符串。如果我发送一个字符串,这个应用程序会中断,并且在重新启动后可以正常工作。我不想每次在处理过程中发生一些错误时都重新启动。我该怎么做呢?
这是我的代码:
from flask import Flask, request, jsonify
# initiating the app
flask_api_app = Flask(__name__)
# the app accepts requests via "GET" and "POST" methods
@flask_api_app.route("/", methods=["GET", "POST"])
def output_risk_and_report():
# getting json data from api call
json_data = request.get_json(force=True)
# now the processing part
if json_data['number'] < 2:
return jsonify(["the number is less than two"])
else:
return jsonify(["the number is not less than two"])
# main function, in which app will be run
if __name__ == "__main__":
# running the app on local host
flask_api_app.run(debug=True, host='127.0.0.1', port='8080')
不会破坏应用程序的调用示例:{"number":4}
中断应用程序的调用示例:{"number":"adfa"}
我要对代码进行哪些更改才能完成此操作?
编辑 1: 我很天真地在我的问题中举了这个例子。在我的原始程序中,将数据插入数据库时可能会出错,或者可能会在某些算术计算或其他方面出错。那么,有没有办法告诉flask继续为新的api请求提供服务,而不是在一个api调用发生错误时中断。
【问题讨论】:
-
您可以控制变量的类型并引发异常。你试过吗?
-
对不起。我很天真地在我的问题中举了这个例子。在我原来的程序中,将数据插入数据库时可能会出错,或者在某些算术计算或其他方面可能会出错。
-
那么,有没有办法告诉flask继续为新的api请求提供服务,并且在仅一个api调用发生错误时不会中断。
-
定义“中断”...?!
-
好的。我的应用停止处理请求,但继续运行。
标签: python python-3.x flask