📜  Python|使用 Flask 构建 REST API(1)

📅  最后修改于: 2023-12-03 15:34:18.061000             🧑  作者: Mango

Python | 使用 Flask 构建 REST API

Flask 是一个微框架,适用于小型 Web 应用。它基于 Python,并对 Werkzeug WSGI 工具箱和 Jinja2 模板引擎进行了包装。Flask 支持多种 Web 开发方案,包括 RESTful API。

在本文中,我们将介绍如何使用 Flask 构建 RESTful API。我们将介绍 Flask 和相关工具的基础知识,并演示如何使用 Flask 和 Python 构建简单的 RESTful API。

安装 Flask

在开始之前,您需要安装 Flask。可以使用 pip 包管理器轻松安装 Flask。

pip install Flask
编写 Flask 应用

下面是一个简单的 Flask 应用。它创建一个名为 app 的 Flask 实例,并添加一个基于 HTTP GET 请求方法的路由。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

这个应用返回一条简单的 hello world 消息。现在我们可以在本地运行它:

python app.py

当你运行应用程序时,您应该看到类似以下的输出:

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

现在,打开您的浏览器并转到 http://127.0.0.1:5000/,您应该看到 hello world 消息。

添加 RESTful 路由

要创建 RESTful API,我们需要添加基于 HTTP 请求方法的路由。例如,要创建具有 GET 和 POST 方法的路由,请使用以下装饰器:

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        return 'This is a POST request'
    else:
        return 'This is a GET request'
设置请求参数

RESTful API 使用 URL 查询字符串和请求正文传递参数和数据。要访问 URL 查询参数,请使用 Flask 的 request.args 字典。例如,对于以下 URL:

http://example.com/user?id=1234&name=Bob

我们可以使用以下方式访问查询参数:

from flask import request

@app.route('/user')
def user():
    id = request.args.get('id')
    name = request.args.get('name')
    return 'User %s name is %s' % (id, name)

要访问请求正文,请使用 Flask 的 request.json 字典。例如:

from flask import request

@app.route('/user', methods=['POST'])
def user():
    data = request.json
    return 'User %s name is %s' % (data['id'], data['name'])
测试 RESTful API

为了测试 RESTful API,您可以使用任何 HTTP 客户端工具。例如,要使用 curl 工具测试 RESTful API,可以使用以下命令:

curl -X GET http://localhost:5000/user?id=1234&name=Bob
curl -X POST http://localhost:5000/user -d '{"id": "1234", "name": "Bob"}' -H 'Content-Type: application/json'

这就是如何使用 Flask 和 Python 构建 RESTful API 的基础和介绍。现在,您可以根据具体项目需求进行更深入的实现和完善。