RESTful API是一种基于REST架构风格设计的接口规范,通过HTTP协议的不同方法对应资源的增删改查操作,在前后端分离开发、第三方服务对接等场景中应用十分广泛。Python生态中有多个成熟的框架可以支持RESTful API的开发,其中Flask因轻量灵活的特点,非常适合新手入门学习。

RESTful API核心概念
RESTful API的核心是将系统中的数据抽象为资源,每个资源对应一个唯一的URL,通过不同的HTTP方法对资源执行不同操作:
- GET:获取资源,对应查询操作
- POST:创建新资源,对应新增操作
- PUT:更新已有资源,对应修改操作
- DELETE:删除资源,对应删除操作
接口返回的数据通常使用JSON格式,方便不同端解析处理。
环境准备与框架安装
本文使用Flask框架作为示例,首先需要安装Flask依赖,执行以下命令即可:
pip install flask
基础RESTful API实现
下面实现一个简单的用户管理接口,包含查询用户列表、新增用户、更新用户、删除用户四个基础功能,模拟对内存中用户数据的操作。
from flask import Flask, request, jsonify
# 初始化Flask应用
app = Flask(__name__)
# 模拟内存存储的用户数据
users = [
{"id": 1, "name": "张三", "age": 20},
{"id": 2, "name": "李四", "age": 22}
]
# 获取用户列表接口,对应GET请求
@app.route("/users", methods=["GET"])
def get_users():
return jsonify(users)
# 新增用户接口,对应POST请求
@app.route("/users", methods=["POST"])
def add_user():
# 获取请求体中的JSON数据
new_user = request.get_json()
# 简单校验数据
if not new_user or "name" not in new_user or "age" not in new_user:
return jsonify({"error": "参数不完整"}), 400
# 生成新用户ID
new_id = max([u["id"] for u in users]) + 1 if users else 1
new_user["id"] = new_id
users.append(new_user)
return jsonify(new_user), 201
# 更新用户接口,对应PUT请求
@app.route("/users/<int:user_id>", methods=["PUT"])
def update_user(user_id):
# 查找对应用户
user = next((u for u in users if u["id"] == user_id), None)
if not user:
return jsonify({"error": "用户不存在"}), 404
# 获取更新数据
update_data = request.get_json()
if "name" in update_data:
user["name"] = update_data["name"]
if "age" in update_data:
user["age"] = update_data["age"]
return jsonify(user)
# 删除用户接口,对应DELETE请求
@app.route("/users/<int:user_id>", methods=["DELETE"])
def delete_user(user_id):
global users
# 过滤掉要删除的用户
new_users = [u for u in users if u["id"] != user_id]
if len(new_users) == len(users):
return jsonify({"error": "用户不存在"}), 404
users = new_users
return jsonify({"message": "删除成功"}), 200
if __name__ == "__main__":
# 启动服务,默认端口5000
app.run(debug=True)
接口测试验证
启动上述代码后,服务会在本地5000端口运行,可以使用curl命令或者接口测试工具验证接口功能:
测试查询用户列表
curl http://127.0.0.1:5000/users
测试新增用户
curl -X POST -H "Content-Type: application/json" -d "{"name":"王五","age":25}" http://127.0.0.1:5000/users
测试更新用户
curl -X PUT -H "Content-Type: application/json" -d "{"age":26}" http://127.0.0.1:5000/users/3
测试删除用户
curl -X DELETE http://127.0.0.1:5000/users/3
进阶优化建议
上述示例是基础实现,实际生产环境中还可以做更多优化:
- 添加参数校验逻辑,避免非法数据入库
- 对接数据库存储数据,替代内存存储
- 添加身份认证机制,比如JWT令牌验证
- 添加接口文档,使用Flask-RESTful或者Swagger等工具生成规范文档
- 添加异常处理全局拦截,统一返回错误格式
如果是更复杂的项目,也可以选择Django REST Framework等更重量级的框架,它内置了更多RESTful开发相关的功能,能减少重复开发工作。
PythonRESTful_APIFlaskHTTP方法接口开发修改时间:2026-07-11 04:51:25