一尘不染

发送带有Flask响应的JSON和状态代码

json

我知道我可以使用设置响应的状态码Response(status=200)。设置状态代码时如何返回JSON数据?

from flask import Flask, Response

@app.route('/login', methods=['POST'])
def login():
    response = Response(status=200)
    # need to set JSON like {'username': 'febin'}
    return response

阅读 228

收藏
2020-07-27

共1个答案

一尘不染

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

from flask import jsonify

@app.route('/login', methods=['POST'])
def login():
    data = {'name': 'nabin khadka'}
    return jsonify(data)

要返回状态码,请返回响应和代码的元组:

return jsonify(data), 200

请注意,默认状态代码为200,因此无需指定该代码。


更新

Flask 1.1开始 ,return语句将jsonify在第一个返回值中自动创建一个字典。您可以直接返回数据:

return data

您还可以使用状态代码返回它:

return data, 200
2020-07-27