我正在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()即可。此方法采用任何可序列化的数据类型(例如,在以下示例中,我使用了字典数据)。
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。