Flask:通过Response对象发送数据和状态代码

我正在Flask中编写通过API相互交互的微服务。

在发出POST请求时,我能够通过Response对象返回状态代码。有什么方法可以从此函数作为JSON返回数据?

from flask import Flask, Response

@app.route('/login', methods=['POST'])

def login():

# Set the status code

response = Response(status=200)

# How can I return a JSON in my response object as {'username': 'febin'} ?

return response

回答:

只需使用flask包中的jsonify()即可。此方法采用任何可序列化的数据类型(例如,在以下示例中,我使用了字典数据)。

from flask import jsonify

@app.route('/login', methods=['POST'])

def login():

data = {'name': 'nabin khadka'}

return jsonify(data)

要返回状态码,只需在返回的末尾返回即可,如下所示:

return jsonify(data), 200

更新

从flask v1.1开始,return语句将jsonify在第一个返回值中自动创建一个字典。所以你可以简单地使用

return data, 200  

请注意,默认值为200。

以上是 Flask:通过Response对象发送数据和状态代码 的全部内容, 来源链接: utcz.com/qa/429875.html

回到顶部