使用 Python 构建简单 REST API
1. 概述
本技术文档旨在指导开发者使用 Python 框架 Flask 构建一个基本的 REST API。通过学习本指南,您将掌握创建、读取、更新和删除 (CRUD) 操作的基本知识,并能够使用 Python 构建自己的 API。
2. 安装依赖
首先,您需要确保已安装 Python 和 Flask 框架。您可以使用 pip
工具安装 Flask:
pip install Flask
3. 创建基本 API 结构
创建名为 app.py
的文件,并在其中定义 Flask 应用程序:
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/')
def index():
return '欢迎使用我的 REST API!'
if __name__ == '__main__':
app.run(debug=True)
这段代码创建了一个 Flask 应用程序,并定义了一个简单的路由 /
,返回一个欢迎信息。
4. 定义 API 资源
我们将创建一个名为 todos
的资源,用于管理待办事项列表。我们将使用一个列表 todos
来存储待办事项信息:
todos = [
{'id': 1, 'task': '学习 Python', 'completed': False},
{'id': 2, 'task': '构建 REST API', 'completed': False}
]
5. 实现 CRUD 操作
5.1 获取所有待办事项 (GET /todos)
@app.route('/todos', methods=['GET'])
def get_todos():
return jsonify(todos)
此路由返回存储在 todos
列表中的所有待办事项,以 JSON 格式呈现。
5.2 获取特定待办事项 (GET /todos/)
@app.route('/todos/<id>', methods=['GET'])
def get_todo(id):
todo = next((t for t in todos if t['id'] == int(id)), None)
if todo:
return jsonify(todo)
else:
return jsonify({'error': '待办事项未找到'}), 404
此路由获取特定 id
的待办事项。如果找到,则返回该待办事项的 JSON 格式;否则返回 404 错误。
5.3 创建新待办事项 (POST /todos)
@app.route('/todos', methods=['POST'])
def create_todo():
data = request.get_json()
new_todo = {'id': len(todos) + 1, 'task': data['task'], 'completed': False}
todos.append(new_todo)
return jsonify(new_todo), 201
此路由接收 JSON 格式的待办事项信息,创建一个新的待办事项并将其添加到 todos
列表中。
5.4 更新待办事项 (PUT /todos/)
@app.route('/todos/<id>', methods=['PUT'])
def update_todo(id):
todo = next((t for t in todos if t['id'] == int(id)), None)
if todo:
data = request.get_json()
todo['task'] = data.get('task', todo['task'])
todo['completed'] = data.get('completed', todo['completed'])
return jsonify(todo)
else:
return jsonify({'error': '待办事项未找到'}), 404
此路由接收 JSON 格式的更新信息,更新特定 id
的待办事项。
5.5 删除待办事项 (DELETE /todos/)
@app.route('/todos/<id>', methods=['DELETE'])
def delete_todo(id):
todo = next((t for t in todos if t['id'] == int(id)), None)
if todo:
todos.remove(todo)
return jsonify({'message': '待办事项已删除'}), 204
else:
return jsonify({'error': '待办事项未找到'}), 404
此路由删除特定 id
的待办事项。
6. 运行 API
运行 app.py
文件即可启动 API:
python app.py
API 将在默认地址 http://127.0.0.1:5000/
上运行。
7. 总结
本技术文档介绍了使用 Python 和 Flask 框架构建简单 REST API 的基础知识。您可以根据自己的需求扩展此 API,例如使用数据库存储数据、添加身份验证机制等。