繁体   English   中英

Flask:如何使用 jsonify 更改状态代码以返回响应?

[英]Flask: How to change status code using jsonify to return Response?

在我的烧瓶应用程序中,我想将响应存储在 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM