在我的烧瓶应用程序中,我想将响应存储在MongoDB中。我想更改状态代码和响应数据,以防存储任务无法完成。如何更改响应对象的状态代码
这是用于Python3.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.jsonify函数从字典输入中输出格式化的json响应时遇到了一些麻烦,如此处所述。 我的代码似乎正在返回Response对象,而不是我想要的格式化json对象。 我有 其中dict是从调用函数返回的字典对象。 在我的模板中,我有: 显示如下: 我该如何返回我要寻找的json表示形式? 问题答案: 你可以像这样使用json.dumps: 然后将其格式化为模板,如下所
问题内容: 在服务器端,我只是将json-as-dictionary打印到控制台 现在,每当我通过ajax发出发布请求时,控制台都会打印出包含我所需内容的字典。 在客户端,我一直在尝试使用各种方法来基于成功的ajax调用执行一些jquery。我只是意识到这可能是服务器端的错误,即我没有发送任何请求标头来告诉jquery其ajax调用成功。 那么,如何将OK状态发送回给客户以告诉一切一切正常? 为了
我试图让ApacheHttpClient触发HTTP请求,然后显示HTTP响应代码(200404500等)以及HTTP响应正文(文本字符串)。需要注意的是,我使用的是因为大多数HttpClient示例都来自和API从版本3到版本4发生了巨大变化。 不幸的是,我只能让HttpClient返回状态代码或响应主体(但不是两者)。 这是我所拥有的: 所以我问:使用库,如何从同一
问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201都不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 你可以在这里阅读。
我使用curl获取http头以查找http状态代码并返回响应。我使用以下命令获取http头
如图所示,添加操作显示“响应类(状态200)”。但是,add操作的实现方式使其永远不会返回200。一旦成功,它就会返回201。 我的问题是如何将(状态200)更改为(状态201)?本部分代码如下: 谢谢