使用 Vibe Coding 方法创建的完整 REST API 服务,包含认证、CRUD 操作和最佳实践
这是一个功能完整的 REST API 服务示例,展示了如何使用 Vibe Coding 方法开发一个包含用户认证、数据验证、错误处理和 API 文档的完整后端服务。项目使用 Flask 和 SQLite,遵循 RESTful 设计原则。
api-service/
├── README.md # 项目说明
├── requirements.txt # Python 依赖
├── app.py # Flask 主程序
├── models.py # 数据模型
├── database.py # 数据库操作
├── auth.py # 认证模块
├── validators.py # 数据验证
├── config.py # 配置文件
└── tests/ # 测试文件
└── test_api.py # API 测试
在 Cursor 中:
api-serviceCmd/Ctrl + I 打开 AI 对话面板请实现用户认证功能:
1. 用户注册(POST /api/auth/register)
2. 用户登录(POST /api/auth/login)
3. JWT 令牌生成和验证
4. 密码加密存储(使用 bcrypt)
5. 受保护的路由中间件
请实现产品管理 API:
1. GET /api/products - 获取产品列表(支持分页和筛选)
2. GET /api/products/<id> - 获取单个产品
3. POST /api/products - 创建产品(需要认证)
4. PUT /api/products/<id> - 更新产品(需要认证)
5. DELETE /api/products/<id> - 删除产品(需要认证)
请添加:
1. 输入数据验证(使用 validators)
2. 统一的错误处理机制
3. API 响应格式标准化
4. 请求日志记录
pip install -r requirements.txt
python database.py
python app.py
API 服务运行在 http://localhost:5000
POST /api/auth/register
Content-Type: application/json
{
"username": "user123",
"email": "user@example.com",
"password": "securepassword"
}
响应:
{
"message": "用户注册成功",
"user": {
"id": 1,
"username": "user123",
"email": "user@example.com"
}
}
POST /api/auth/login
Content-Type: application/json
{
"username": "user123",
"password": "securepassword"
}
响应:
{
"message": "登录成功",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 1,
"username": "user123",
"email": "user@example.com"
}
}
GET /api/products?page=1&per_page=10&category=电子产品&min_price=100&max_price=1000
Authorization: Bearer <token>
响应:
{
"products": [...],
"total": 50,
"page": 1,
"per_page": 10,
"pages": 5
}
GET /api/products/1
Authorization: Bearer <token>
POST /api/products
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "iPhone 15",
"description": "最新款 iPhone",
"price": 7999,
"category": "电子产品",
"stock": 100
}
PUT /api/products/1
Authorization: Bearer <token>
Content-Type: application/json
{
"price": 7499,
"stock": 80
}
DELETE /api/products/1
Authorization: Bearer <token>
大部分 API 端点需要 JWT 令牌认证。在请求头中添加:
Authorization: Bearer <your_jwt_token>
通过这个项目,你学会了:
完成基础功能后,可以尝试添加:
# 注册用户
curl -X POST http://localhost:5000/api/auth/register \
-H "Content-Type: application/json" \
-d '{"username":"testuser","email":"test@example.com","password":"test123"}'
# 登录
curl -X POST http://localhost:5000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"testuser","password":"test123"}'
# 获取产品列表(需要 token)
curl -X GET http://localhost:5000/api/products \
-H "Authorization: Bearer <your_token>"
祝你学习愉快! 🚀