原创

使用 Python 和 Flask 构建简单 RESTful API

温馨提示:
本文最后更新于 2024年07月25日,已超过 251 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 Python 和 Flask 构建简单 RESTful API

1. 简介

本技术文档将指导您使用 Python 和 Flask 框架构建一个简单的 RESTful API。该 API 将提供获取和更新用户数据的功能。

2. 准备工作

  • 确保您的系统上已安装 Python 3.6 或更高版本。
  • 安装 Flask 框架: bash pip install Flask

3. 项目结构

创建一个名为 "api" 的目录,并在此目录中创建以下文件:

  • app.py: 应用程序的主要文件。
  • models.py: 定义数据模型。
  • routes.py: 定义 API 路由。
  • config.py: 存储配置信息。

4. 数据模型

models.py 文件中定义用户模型:

python class User: def __init__(self, id, name, email): self.id = id self.name = name self.email = email

5. 路由定义

routes.py 文件中定义 API 路由:

```python from flask import Flask, jsonify, request from models import User

app = Flask(name)

定义用户列表

users = [ User(1, "John Doe", "[email protected]"), User(2, "Jane Smith", "[email protected]"), ]

获取所有用户

@app.route('/users', methods=['GET']) def get_users(): user_list = [] for user in users: user_list.append({ 'id': user.id, 'name': user.name, 'email': user.email }) return jsonify(user_list)

获取单个用户

@app.route('/users/', methods=['GET']) def get_user(id): for user in users: if user.id == id: return jsonify({ 'id': user.id, 'name': user.name, 'email': user.email }) return jsonify({'error': 'User not found'}), 404

更新用户

@app.route('/users/', methods=['PUT']) def update_user(id): for user in users: if user.id == id: user.name = request.json.get('name', user.name) user.email = request.json.get('email', user.email) return jsonify({'message': 'User updated successfully'}) return jsonify({'error': 'User not found'}), 404

if name == 'main': app.run(debug=True) ```

6. 运行应用程序

在终端中运行以下命令启动应用程序:

bash python app.py

应用程序将在 http://127.0.0.1:5000/ 地址上启动。

7. 测试 API

您可以使用工具如 Postman 或 curl 来测试 API:

  • 获取所有用户: bash curl http://127.0.0.1:5000/users
  • 获取单个用户: bash curl http://127.0.0.1:5000/users/1
  • 更新用户: bash curl -X PUT -H "Content-Type: application/json" -d '{"name": "John Doe Updated", "email": "[email protected]"}' http://127.0.0.1:5000/users/1

8. 总结

在本技术文档中,您学习了如何使用 Python 和 Flask 框架构建一个简单的 RESTful API。该 API 实现了获取和更新用户数据的功能。您可以根据需要扩展此 API,以实现更多功能。

正文到此结束