KOA技术分享

专注 Koa.js 框架的编程知识分享

RESTful API 设计最佳实践

RESTful 规范核心原则

API 路由设计

方法 路径 说明
GET /users 获取用户列表
GET /users/:id 获取单个用户
POST /users 创建用户
PUT /users/:id 更新用户
DELETE /users/:id 删除用户

请求参数规范

查询参数(Query String)

路径参数

请求体(JSON)

{
  "username": "zhangsan",
  "email": "zhangsan@example.com",
  "password": "********",
  "role": "admin"
}

响应格式规范

// 成功响应
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 1,
    "username": "zhangsan"
  },
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100
  }
}

// 错误响应
{
  "code": 4001,
  "message": "用户名已存在",
  "detail": {}
}

Koa.js 实现示例

const Router = require('koa-router');
const router = new Router({ prefix: '/api/users' });

// 获取用户列表
router.get('/', async (ctx) => {
  const { page = 1, limit = 20 } = ctx.query;
  const users = await User.find()
    .skip((page - 1) * limit)
    .limit(Number(limit));

  ctx.body = {
    code: 0,
    data: users,
    pagination: { page, limit, total: await User.count() }
  };
});

// 创建用户
router.post('/', async (ctx) => {
  const user = await User.create(ctx.request.body);
  ctx.status = 201;
  ctx.body = { code: 0, data: user };
});
← 下一篇:Koa.js 日志系统设计与实现 下一篇:RESTful API 进阶实践与性能优化 →