Python使用Flask创建 REST API的实现步骤

 更新时间:2026年02月25日 08:26:24   作者:普通网友  
本文主要介绍了Python使用Flask创建 REST API的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

REST API(Representational State Transfer Application Programming Interface)是一种基于 HTTP 协议的架构风格,广泛用于构建现代 Web 应用程序的后端服务。Flask 是一个轻量级且灵活的 Python 微框架,非常适合快速开发 RESTful API。本文将介绍如何使用 Flask 创建一个简单的 REST API,并演示其基本功能。

环境准备

在开始之前,请确保您的系统已安装以下工具和库:

  • Python 3.x
  • pip
  • Flask

可以通过以下命令安装 Flask:

pip install Flask

创建项目结构

首先,我们创建一个基本的项目目录结构。假设项目名为 "flask-rest-api":

flask-rest-api/
│
├── app.py
└── requirements.txt

其中,`app.py` 是主应用程序文件,`requirements.txt` 用于记录依赖项。

编写代码

打开 `app.py` 文件,输入以下代码:

from flask import Flask, jsonify, request
 
# 初始化 Flask 应用
app = Flask(__name__)
 
# 模拟数据存储
data_store = [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
]
 
# 获取所有用户
@app.route('/users', methods=['GET'])
def get_users():
    return jsonify(data_store)
 
# 获取单个用户
@app.route('/users/', methods=['GET'])
def get_user(user_id):
    user = next((item for item in data_store if item["id"] == user_id), None)
    if user:
        return jsonify(user)
    else:
        return jsonify({"error": "User not found"}), 404
 
# 添加新用户
@app.route('/users', methods=['POST'])
def add_user():
    new_user = request.get_json()
    data_store.append(new_user)
    return jsonify(new_user), 201
 
# 更新现有用户
@app.route('/users/', methods=['PUT'])
def update_user(user_id):
    user = next((item for item in data_store if item["id"] == user_id), None)
    if user:
        updated_data = request.get_json()
        user.update(updated_data)
        return jsonify(user)
    else:
        return jsonify({"error": "User not found"}), 404
 
# 删除用户
@app.route('/users/', methods=['DELETE'])
def delete_user(user_id):
    global data_store
    data_store = [item for item in data_store if item["id"] != user_id]
    return jsonify({"message": "User deleted"}), 200
 
# 启动应用
if __name__ == '__main__':
    app.run(debug=True)

解释代码

上述代码实现了一个简单的 REST API,支持以下操作:

  1. GET /users - 获取所有用户
  2. GET /users/{id} - 获取指定 ID 的用户
  3. POST /users - 添加新用户
  4. PUT /users/{id} - 更新现有用户
  5. DELETE /users/{id} - 删除用户

核心逻辑如下:

  • `data_store` 是一个模拟数据库,用于存储用户数据。
  • 每个路由都通过装饰器 `@app.route` 定义,并指定 HTTP 方法(如 GET、POST 等)。
  • 返回的数据使用 `jsonify` 转换为 JSON 格式。

运行应用

在项目根目录下运行以下命令启动 Flask 应用:

python app.py

默认情况下,应用将在本地主机的 5000 端口上运行。您可以使用浏览器或工具(如 Postman 或 curl)测试 API。

测试 API

以下是一些示例请求及其预期响应:

请求方法URL响应
获取所有用户GET/users[{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]
获取单个用户GET/users/1{"id": 1, "name": "Alice"}
添加新用户POST/users{'id': 3, 'name': 'Charlie'}
更新现有用户PUT/users/1{"id": 1, "name": "Alicia"}
删除用户DELETE/users/1{"message": "User deleted"}

总结

通过本文的学习,您已经掌握了如何使用 Flask 快速搭建一个 REST API。Flask 提供了高度的灵活性,使得开发者可以轻松扩展功能或集成其他模块。希望本文能帮助您在实际项目中更好地利用 Flask 构建高效、可维护的后端服务。

到此这篇关于Python使用Flask创建 REST API的实现步骤的文章就介绍到这了,更多相关 Flask 创建 REST API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python configparser模块常用方法解析

    Python configparser模块常用方法解析

    这篇文章主要介绍了Python configparser模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python爬虫实战之爬取某宝男装信息

    Python爬虫实战之爬取某宝男装信息

    网络爬虫是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。本文将为大家介绍如何利用爬虫获取某宝男装信息,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Pycharm远程连接服务器跑代码的实现

    Pycharm远程连接服务器跑代码的实现

    本文主要介绍了Pycharm远程连接服务器跑代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • networkx库绘制带权图给无权图加权重输出

    networkx库绘制带权图给无权图加权重输出

    这篇文章主要为大家介绍了Python networkx库绘制带权图给无权图加权重并输出权重的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python一次为多个变量赋值的简便方法

    Python一次为多个变量赋值的简便方法

    在Python的世界里,简洁与优雅是永恒的追求,当面对需要同时处理多个变量的场景时,如何避免冗长的代码和临时变量的困扰?答案就藏在Python强大的多重赋值机制中,本文将系统性地探讨Python中为多个变量赋值的多种方法,需要的朋友可以参考下
    2026-03-03
  • Python文件基本操作open函数应用与示例详解

    Python文件基本操作open函数应用与示例详解

    这篇文章主要为大家介绍了Python文件基本操作open函数应用与示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python 判断三个数字中的最大值实例代码

    python 判断三个数字中的最大值实例代码

    这篇文章主要介绍了python 判断三个数字中的最大值,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • python utc datetime转换为时间戳的方法

    python utc datetime转换为时间戳的方法

    今天小编就为大家分享一篇python utc datetime转换为时间戳的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python实现飞机大战

    python实现飞机大战

    这篇文章主要为大家详细介绍了python实现飞机大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 如何利用Pandas查询选取数据

    如何利用Pandas查询选取数据

    在数据分析的过程中通常要对数据进行清洗与处理,而其中比较重要和常见的操作就有对数据进行筛选与查询,下面这篇文章主要给大家介绍了关于如何利用Pandas查询选取数据的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论