📜  如何为 hello world 编写一个简单的 Flask API?

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

如何为 hello world 编写一个简单的 Flask API?

先决条件: REST API 简介

REST代表 Representational State Transfer,是现代 Web 开发中使用的一种架构风格。它为 Web 应用程序定义了一组规则/约束来发送和接收数据。在本文中,我们将学习如何在烧瓶的帮助下创建一个返回“Hello World”的简单 REST API。

在本文中,我们将使用两种方法为 hello world 编写一个简单的烧瓶 API:



  • 使用 Flask jsonify 对象。
  • 在 Flask 中使用 flask_restful 库。

安装

1. 使用以下命令安装Python Flask 库。

pip install Flask

2. 使用以下命令安装flask-restful 库。

pip install Flask-RESTful

方法 1:使用 Flask 'jsonify' 对象

  • 创建一个名为“main.py”的新Python文件。
  • 从 Flask 框架导入 Flask、jsonify 和请求。
  • 使用以下语法将 Web 应用程序注册到应用程序变量中。
Python3
app =   Flask(__name__)


Python3
@app.route('/path_of_the_response', methods=['GET'])
def helloworld():
    pass


Python3
if __name__ == '__main__':
    app.run(debug=True)


Python3
from flask import Flask, jsonify, request
  
app = Flask(__name__)
  
  
@app.route('/hello', methods=['GET'])
def helloworld():
    if(request.method == 'GET'):
        data = {"data": "Hello World"}
        return jsonify(data)
  
  
if __name__ == '__main__':
    app.run(debug=True)


Python3
app =   Flask(__name__)


Python3
api =   Api(app)


Python3
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 HelloWorld(Resource):
    def get(self):
        data={"data":"Hello World"}
        return data
  
api.add_resource(HelloWorld,'/hello')
  
  
if __name__=='__main__':
    app.run(debug=True)


  • 创建一个名为“helloworld”的新函数。此函数将返回 JSON 格式的“Hello World”文本。
  • 使用以下语法将“helloworld”函数路由到所需的 URL。

蟒蛇3

@app.route('/path_of_the_response', methods=['GET'])
def helloworld():
    pass
  • 在“helloworld”函数中,如果请求方法为“GET”,则创建一个带有“Hello World”消息的Python字典。
  • 对Python字典进行JSON化并返回。
  • 使用以下命令构建 Flask 应用程序。

蟒蛇3

if __name__ == '__main__':
    app.run(debug=True)
  • 在终端或 IDE 中运行“main.py”文件,然后在浏览器中键入以下 URL。
http://127.0.0.1:5000/hello

代码 :

蟒蛇3

from flask import Flask, jsonify, request
  
app = Flask(__name__)
  
  
@app.route('/hello', methods=['GET'])
def helloworld():
    if(request.method == 'GET'):
        data = {"data": "Hello World"}
        return jsonify(data)
  
  
if __name__ == '__main__':
    app.run(debug=True)

输出 :



方法二:使用flask_restful库

  • 创建一个名为“main.py”的新Python文件。
  • 从 Flask 框架导入 Flask。
  • 从“flask_restful”库中导入 API 和资源。
  • 使用以下语法将 Web 应用程序注册到应用程序变量中。

蟒蛇3

app =   Flask(__name__)
  • 使用“flask_restful”库的 Api 方法将 app 变量注册为 API 对象。

蟒蛇3

api =   Api(app)
  • 创建一个名为“HelloWorld”的资源类。
  • 在资源类中,创建一个“get”方法。
  • 从“get”方法返回带有“Hello World”消息的字典。
  • 使用 add_resource 方法将资源类添加到 API。
  • 使用以下命令构建 Flask 应用程序。

蟒蛇3

if __name__ == '__main__':
    app.run(debug=True)
  • 在终端或 IDE 中运行“main.py”文件,然后在浏览器中输入以下 URL。
http://127.0.0.1:5000/hello

代码 :

蟒蛇3

from flask import Flask
from flask_restful import Api, Resource
  
app =   Flask(__name__)
  
api =   Api(app)
  
class HelloWorld(Resource):
    def get(self):
        data={"data":"Hello World"}
        return data
  
api.add_resource(HelloWorld,'/hello')
  
  
if __name__=='__main__':
    app.run(debug=True)

输出 :