Flask:如何使用 jsonify 将状态代码更改为 return 响应?
Flask: How to change status code using jsonify to return Response?
在我的 Flask 应用程序中,我想将响应存储在 MongoDB 中。
我想更改状态代码和响应数据,以防存储任务无法完成。如何更改响应对象的状态代码
这是针对在 Python 3.6
中开发的 Flask 应用程序
@after_request()
def after_request(response):
data = response.get_json(silent=True)
session_id = uuid.uuid4().hex
if response.status_code == 200 and "results" in data:
try:
collection = utils.mongodb_connection(db_info)
insertion = utils.insert_in_mongo(collection, data["results"], session_id)
data["report_id"] = insertion.get("id",None)
return jsonify(data)
except Exception as e:
data["message"] = "Error in storing data"
response.status_code = 413
return jsonify(data)
现在如果出现异常,我会收到状态码 200
您也可以使用make_response方法。就像:
from flask import make_response
@app.route('/')
def hello():
data = {'hello': 'world'}
return make_response(jsonify(data), 403)
在我的 Flask 应用程序中,我想将响应存储在 MongoDB 中。 我想更改状态代码和响应数据,以防存储任务无法完成。如何更改响应对象的状态代码
这是针对在 Python 3.6
中开发的 Flask 应用程序@after_request()
def after_request(response):
data = response.get_json(silent=True)
session_id = uuid.uuid4().hex
if response.status_code == 200 and "results" in data:
try:
collection = utils.mongodb_connection(db_info)
insertion = utils.insert_in_mongo(collection, data["results"], session_id)
data["report_id"] = insertion.get("id",None)
return jsonify(data)
except Exception as e:
data["message"] = "Error in storing data"
response.status_code = 413
return jsonify(data)
现在如果出现异常,我会收到状态码 200
您也可以使用make_response方法。就像:
from flask import make_response
@app.route('/')
def hello():
data = {'hello': 'world'}
return make_response(jsonify(data), 403)