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实现3行代码解简单的一元一次方程

    Python实现3行代码解简单的一元一次方程

    这篇文章主要介绍了Python实现3行代码解简单的一元一次方程,很适合Python初学者学习借鉴,需要的朋友可以参考下
    2014-08-08
  • python把转列表为集合的方法

    python把转列表为集合的方法

    在本篇文章里小编给大家分享了关于python把转列表为集合的方法以及相关实例内容,有兴趣的朋友们学习下。
    2019-06-06
  • Python3实现的反转单链表算法示例

    Python3实现的反转单链表算法示例

    这篇文章主要介绍了Python3实现的反转单链表算法,结合实例形式总结分析了Python基于迭代算法与递归算法实现的翻转单链表相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • python修改字典内key对应值的方法

    python修改字典内key对应值的方法

    这篇文章主要介绍了python修改字典内key对应值的方法,涉及Python中字典赋值的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 11行Python代码实现解密摩斯密码

    11行Python代码实现解密摩斯密码

    摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。本文将通过Python代码来实现解密摩斯密码,感兴趣的可以学习一下
    2022-04-04
  • Python Pyecharts绘制桑基图分析用户行为路径

    Python Pyecharts绘制桑基图分析用户行为路径

    这篇文章主要为大家介绍了Python Pyecharts绘制桑基图分析用户行为路径,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python中线程和进程有何区别

    python中线程和进程有何区别

    在本篇文章里小编给大家整理的是一篇关于python中线程和进程的区别相关知识点,有需要的朋友们可以参考下。
    2020-06-06
  • linux查找当前python解释器的位置方法

    linux查找当前python解释器的位置方法

    今天小编就为大家分享一篇linux查找当前python解释器的位置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python语法学习之正则表达式的使用详解

    Python语法学习之正则表达式的使用详解

    要想成功的进行字符串的匹配需要使用到正则表达式模块,正则表达式匹配规则以及需要被匹配的字符串。本文详细为大家介绍了如何利用正则表达式实现字符的匹配,感兴趣的可以了解一下
    2022-04-04
  •  python中的元类metaclass详情

     python中的元类metaclass详情

    这篇文章主要介绍了python中的metaclass详情,在python中的metaclass就是帮助developer实现元编程,更多详细内容需要的小伙伴可以参考一下
    2022-05-05

最新评论