📜  如何从 Flask API 返回 JSON 响应?

📅  最后修改于: 2022-05-13 01:54:19.153000             🧑  作者: Mango

如何从 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 响应:

  1. 使用 Flask jsonify 对象。
  2. 将 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)

输出: