T02 功能实现 ⭐⭐ 📋 0 次复制

功能实现 - Prompt 2

使用FastAPI实现一个用户管理API。

📝 完整 Prompt
使用FastAPI实现一个用户管理API。

端点规范:
1. POST /api/users - 创建用户
   请求: {name, email, password, role}
   响应: {id, name, email, created_at} (201)

2. GET /api/users/{id} - 获取用户
   响应: {id, name, email, role, status}

3. PATCH /api/users/{id} - 更新用户
   请求: {name?, email?, role?}
   响应: 更新后的用户信息

4. DELETE /api/users/{id} - 删除用户
   响应: 204 No Content

要求:
- 所有端点需要JWT认证(除了创建用户前可以注册)
- 邮箱必须唯一,不能重复
- 密码存储必须加密(使用bcrypt)
- 支持分页(可选的limit和offset)
- 错误响应格式统一: {error: string, code: string, details?: object}
- API需要数据验证(邮箱格式、密码强度等)
- 删除用户需要管理员权限
- 记录所有操作日志

异常处理:
- 用户已存在 → 409 Conflict
- 找不到用户 → 404 Not Found
- 权限不足 → 403 Forbidden
- 输入无效 → 422 Unprocessable Entity

请生成:
1. FastAPI应用的主要代码
2. 模型定义(Pydantic)
3. 数据库操作(使用SQLAlchemy)
4. 认证中间件
5. 错误处理和验证
6. 一个完整的使用示例(curl命令)
← 返回列表

📎 同任务下的其他 Prompt