使用Python Flask构建基础RESTFul API服务器 - Ruan Bekker的博客
作者:API传播员 · 2025-12-28 · 阅读时间:5分钟
使用Flask框架以及jsonify和request类来创建一个简单的RESTFul API服务。
功能概述
通过本文的示例,您将学习如何实现以下API功能:
- 创建(Create)
- 读取(Read)
- 更新(Update)
- 删除(Delete)
在演示中,我们将通过API操作一些与“人”相关的信息,并依次实现上述每个功能。
环境准备与依赖安装
在开始之前,请确保您已安装Python环境,并按照以下步骤设置项目环境:
-
创建一个虚拟环境:
python3 -m venv venv source venv/bin/activate -
安装必要的依赖项:
pip install flask
API服务器代码实现
以下是完整的API服务器代码示例。代码中包含了多个URL端点的装饰器以及一个id_generator函数,用于为每个用户生成唯一的ID。这个ID将用于用户信息的获取、更新和删除操作。
if name == ‘main‘:
app.run(debug=True)
app = Flask(__name__)
# 数据存储
users = {}
# ID生成器
def id_generator():
return str(uuid.uuid4())
# 创建用户
@app.route('/users', methods=['POST'])
def create_user():
user_id = id_generator()
user_data = request.json
users[user_id] = user_data
return jsonify({"id": user_id, "message": "User created"}), 201
# 获取所有用户
@app.route('/users', methods=['GET'])
def get_users():
return jsonify(users), 200
# 获取单个用户
@app.route('/users/', methods=['GET'])
def get_user(user_id):
user = users.get(user_id)
if not user:
return jsonify({"error": "User not found"}), 404
return jsonify(user), 200
# 更新用户
@app.route('/users/', methods=['PUT'])
def update_user(user_id):
if user_id not in users:
return jsonify({"error": "User not found"}), 404
users[user_id].update(request.json)
return jsonify({"message": "User updated"}), 200
# 删除用户
@app.route('/users/', methods=['DELETE'])
def delete_user(user_id):
if user_id not in users:
return jsonify({"error": "User not found"}), 404
del users[user_id]
return jsonify({"message": "User deleted"}), 200
if __name__ == '__main__':
app.run(debug=True)
功能演示
以下是API的使用示例,展示了如何通过不同的HTTP方法操作用户数据。
1. 获取帮助信息
通过访问根路径或文档路径,可以查看API的帮助信息。
2. 列出所有用户
初次调用时,由于尚未添加任何用户,返回的列表将为空。
curl -X GET http://127.0.0.1:5000/users
3. 添加用户
通过POST请求添加用户信息。例如,添加第一个用户:
curl -X POST -H "Content-Type: application/json" -d '{"name": "Alice", "location": "USA"}' http://127.0.0.1:5000/users
添加第二个用户:
curl -X POST -H "Content-Type: application/json" -d '{"name": "Bob", "location": "UK"}' http://127.0.0.1:5000/users
4. 获取用户列表
再次调用GET请求,将返回所有用户信息。
curl -X GET http://127.0.0.1:5000/users
5. 获取单个用户信息
通过用户ID获取特定用户的信息:
curl -X GET http://127.0.0.1:5000/users/
6. 更新用户信息
假设用户Stefan搬到了新西兰,我们可以通过PUT请求更新其信息:
curl -X PUT -H "Content-Type: application/json" -d '{"location": "New Zealand"}' http://127.0.0.1:5000/users/
7. 删除用户
通过用户ID删除用户信息:
curl -X DELETE http://127.0.0.1:5000/users/
使用Python Requests模块
除了使用命令行工具`API交互。例如,创建一个新用户:
import requests
url = "http://127.0.0.1:5000/users"
data = {"name": "Charlie", "location": "Canada"}
response = requests.post(url, json=data)
print(response.json())
总结
通过本文,您学习了如何使用Python Flask框架构建一个基础的RESTFul API服务器,并实现了创建、读取、更新和删除功能。您还可以通过Python的requests模块与API进行交互。如果您对Flask Restful感兴趣,可以进一步探索如何将其与NoSQL数据库集成。
原文链接
使用Python Flask构建基础RESTFul API服务器 – Ruan Bekker的博客
原文链接: https://ruan.dev/blog/2018/04/21/basic-restful-api-server-with-python-flask
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- 增强API安全性:使用OPA和Kong Gateway进行细粒度访问控制
- 如何免费调用有道翻译API实现多语言翻译
- 公司logo获取服务:如何让企业自动化生成Logo变得轻松简单?
- 了解和使用REST API
- 为什么API开发对现代应用至关重要?
- 如何利用Apache APISIX实现高效的API认证与鉴权:全面解析主流认证方式
- 医疗保健领域中api解决方案的优势与劣势
- 如何获取腾讯AI开放平台 API Key 密钥(分步指南)
- 如何使用Flask-RESTX构建和文档化RESTful API
- API类型:详解与图示 – Kodezi博客
- 百度文心一言API使用指南:非技术人员入门教程
- 如何获取腾讯AI开放平台 API Key 密钥(分步指南)