如何从 Flask API 返回 JSON 响应?
Flask 是用于设计 REST API 的最广泛使用的Python微框架之一。在本文中,我们将学习如何在烧瓶的帮助下创建一个返回简单 JSON 对象的简单 REST API。
先决条件: REST API 简介
什么是 REST API?
REST 代表 Representational State Transfer,是现代 Web 开发中使用的一种架构风格。它为 Web 应用程序定义了一组或规则/约束来发送和接收数据。在本文中,我们将使用 Flask 框架在Python中构建一个 REST API。 Flask 是一个流行的用于构建 Web 应用程序的微框架。
方法:我们将编写一个简单的烧瓶 API,它使用两种方法返回 JSON 响应:
- 使用 Flask jsonify 对象。
- 将 flask_restful 库与 Flask 一起使用。
所需的库:
- 使用以下命令安装Python Flask库:
pip install Flask
- 使用以下命令安装flask-restful库:
pip install Flask-RESTful
方法 1:使用 Flask jsonify 对象——在这种方法中,我们将使用 Flask jsonify 方法返回一个 JSON 响应。我们不会在这个方法中使用 flask-restful 库。
- 创建一个名为“main.py”的新Python文件。
- 从 Flask 框架导入 Flask、jsonify 和 request。
- 使用以下语法将 Web 应用程序注册到应用程序变量中。
app = Flask(__name__)
- 创建一个名为“ReturnJSON”的新函数。此函数将返回示例 JSON 响应。
- 使用以下语法将“ReturnJSON”函数路由到所需的 URL。
@app.route('/path_of_the_response', methods = ['GET'])
def ReturnJSON():
pass
- 如果请求方法是“GET”,则在“ReturnJSON”函数内部创建一个包含两个元素消息的Python字典。
- Jsonify Python字典并返回它。
- 使用以下命令构建烧瓶应用程序。
if __name__=='__main__':
app.run(debug=True)
- 在终端或 IDE 中运行“main.py”文件。
代码:
Python3
from flask import Flask,jsonify,request
app = Flask(__name__)
@app.route('/returnjson', methods = ['GET'])
def ReturnJSON():
if(request.method == 'GET'):
data = {
"Modules" : 15,
"Subject" : "Data Structures and Algorithms",
}
return jsonify(data)
if __name__=='__main__':
app.run(debug=True)
Python3
from flask import Flask
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class returnjson(Resource):
def get(self):
data={
"Modules": 15,
"Subject": "Data Structures and Algorithms"
}
return data
api.add_resource(returnjson,'/returnjson')
if __name__=='__main__':
app.run(debug=True)
输出:
方法 2:在 Flask 中使用 flask_restful 库——在这种方法中,我们将在 flask-restful 库的帮助下创建一个简单的 JSON 响应。下面讨论这些步骤:
- 创建一个名为“main.py”的新Python文件。
- 从烧瓶框架导入烧瓶。
- 从“flask_restful”库中导入 API 和资源。
- 使用以下语法将 Web 应用程序注册到应用程序变量中。
app = Flask(__name__)
- 使用 'flask_restful' 库的 API 方法将 app 变量注册为 API 对象。
api = Api(app)
- 创建一个名为“ReturnJSON”的资源类。
- 在资源内部,该类创建了一个“get”方法。
- 从“get”方法返回一个带有简单 JSON 响应的字典。
- 使用 add_resource 方法将资源类添加到 API。
- 使用以下命令构建烧瓶应用程序。
if __name__=='__main__':
app.run(debug=True)
- 在终端或 IDE 中运行“main.py”文件。
代码:
Python3
from flask import Flask
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class returnjson(Resource):
def get(self):
data={
"Modules": 15,
"Subject": "Data Structures and Algorithms"
}
return data
api.add_resource(returnjson,'/returnjson')
if __name__=='__main__':
app.run(debug=True)
输出: