🎉 欢迎使用 AI合租 文档系统!返回主站 →
文档中心
💻 Vibe Coding
Day 8: API 开发

Day 8: API 开发

设计和实现高质量的 RESTful API,处理各种业务场景。

API 设计原则

RESTful 设计

你:设计用户管理的 RESTful API,包含增删改查操作

Claude 会设计:

GET    /api/users          # 获取用户列表
GET    /api/users/:id      # 获取单个用户
POST   /api/users          # 创建用户
PUT    /api/users/:id      # 更新用户
DELETE /api/users/:id      # 删除用户

资源嵌套

你:设计博客文章和评论的嵌套 API

设计结果:

GET    /api/posts/:id/comments     # 获取文章评论
POST   /api/posts/:id/comments     # 添加评论
PUT    /api/comments/:id           # 更新评论
DELETE /api/comments/:id           # 删除评论

快速创建 API

Express 基础 API

你:用 Express 创建用户注册登录 API,包含密码加密和 JWT

Claude 会创建:

  • 用户模型定义
  • 注册接口(密码加密)
  • 登录接口(JWT 生成)
  • 身份验证中间件

数据验证

你:给用户注册接口添加数据验证,检查邮箱格式、密码强度

错误处理

你:创建统一的错误处理中间件,规范 API 错误响应格式

数据库集成

MongoDB + Mongoose

你:用 Mongoose 创建商品模型,包含基本字段和索引

MySQL + Prisma

你:用 Prisma 设计订单系统的数据库表,包含用户、商品、订单关系

数据库操作

你:实现商品 CRUD 操作,支持分页、筛选、排序

身份认证与授权

JWT 认证

你:实现完整的 JWT 身份认证流程

包含:

  • 用户注册/登录
  • Token 生成与验证
  • Token 刷新机制
  • 登出处理

权限控制

你:实现基于角色的权限控制,管理员和普通用户有不同权限

中间件设计

你:创建身份验证和权限检查中间件

文件上传处理

单文件上传

你:实现头像上传接口,支持图片压缩和格式验证

多文件上传

你:实现商品图片批量上传,支持拖拽上传

云存储集成

你:集成阿里云 OSS,实现文件上传到云存储

API 优化

接口缓存

你:给商品列表接口添加 Redis 缓存,提升查询性能

分页优化

你:实现高效的分页查询,支持游标分页

批量操作

你:实现商品批量删除接口,支持事务回滚

接口限流

你:添加接口限流,防止恶意请求

接口文档

Swagger 集成

你:用 Swagger 自动生成 API 文档,包含请求示例和响应格式

接口注释

你:给所有接口添加详细注释,说明参数和返回值

Postman 集合

你:导出 Postman 集合,方便前端测试接口

常见业务接口

用户系统

你:完整的用户系统 API,包括:
- 注册/登录/登出
- 个人资料管理
- 密码修改
- 邮箱验证
- 忘记密码

电商订单

你:电商订单 API,包括:
- 创建订单
- 订单支付
- 订单状态查询
- 订单取消/退款
- 订单历史

内容管理

你:博客内容管理 API,包括:
- 文章发布/编辑
- 文章分类标签
- 评论管理
- 点赞收藏
- 搜索功能

错误处理最佳实践

统一错误格式

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "邮箱格式不正确",
    "details": [
      {
        "field": "email",
        "message": "请输入有效的邮箱地址"
      }
    ]
  }
}

常见错误码

你:定义常用的错误码和错误信息
错误码说明
400请求参数错误
401未授权访问
403权限不足
404资源不存在
409资源冲突
500服务器内部错误

接口测试

单元测试

你:为用户注册接口写单元测试,覆盖正常和异常情况

集成测试

你:写集成测试,测试完整的用户注册登录流程

API 压力测试

你:用工具测试接口在高并发下的性能表现

第三方集成

支付接口

你:集成支付宝支付接口,处理支付回调

短信验证

你:集成短信验证码服务,实现手机号验证

社交登录

你:集成微信登录,实现第三方授权

接口安全

参数校验

你:严格校验所有输入参数,防止 SQL 注入和 XSS 攻击

接口签名

你:实现接口签名验证,防止接口被恶意调用

HTTPS 配置

你:配置 SSL 证书,强制使用 HTTPS
⚠️

安全提醒:永远不要相信前端传来的数据,所有参数都要在后端重新验证。

第八天完成! 你已经掌握了 API 开发的核心技能。明天学习数据库设计和优化。

下一步

Day 9: 数据库操作 - 数据库设计、查询优化、性能调优


练习建议

  • 选一个业务场景,完整实现相关的 API 接口
  • 试试用 Postman 测试你创建的接口
  • 体验一下自动生成的 API 文档效果