REST API Design 是一个用于设计 RESTful API 的技能,目标是以恰当的约定和良好的开发者体验来设计 API。
用途 该技能用于在构建新 API 或建立 API 约定时,提供 RESTful API 设计的规范与示例。
主要能力
- 资源命名:推荐使用名词、复数、层级结构,例如 GET /api/users、GET /api/users/123、GET /api/users/123/orders、POST /api/users、PATCH /api/users/123、DELETE /api/users/123;避免在 URL 中使用动词或动作,例如 GET /api/getUsers、POST /api/createUser、POST /api/users/123/delete。
- HTTP 方法:提供方法、用途与幂等性对照表。GET 用于读取资源,幂等;POST 用于创建资源,非幂等;PUT 用于替换资源,幂等;PATCH 用于部分更新,幂等;DELETE 用于移除资源,幂等。
- 状态码:提供状态码、含义与适用场景对照表。200 OK 用于成功的 GET、PATCH;201 Created 用于成功的 POST;204 No Content 用于成功的 DELETE;400 Bad Request 用于验证错误;401 Unauthorized 用于缺少认证;403 Forbidden 用于权限不足;404 Not Found 用于资源不存在;429 Too Many Requests 用于被限流。
- 响应格式:提供单资源响应示例,包含 data(id、type、attributes)与 meta(requestId);集合响应示例,包含 data、pagination(page、limit、total、totalPages)与 links(self、next)。
- 查询参数:支持过滤(GET /api/products?category=electronics)、排序(GET /api/products?sort=-price,name)、分页(GET /api/products?page=2&limit=20)、字段选择(GET /api/products?fields=id,name,price)。
- 最佳实践:使用名词而非动词作为资源;通过 URL 路径进行 API 版本化(/api/v1/);返回合适的状态码;为集合包含分页;使用 OpenAPI/Swagger 编写文档。
使用方式 该技能以文档形式提供设计规范与示例,可在设计 API 时参照其中的命名、方法、状态码、响应格式与查询参数约定。资料中未提供具体的安装命令或调用步骤。
适用场景 适用于构建新 API、建立 API 约定、统一团队 API 设计规范等场景。
限制 资料中未提供关于收费、价格、平台支持、实际效果或具体使用步骤的信息。