用途
REST Patterns 是一份面向 RESTful API 设计模式与 HTTP 语义的快速参考,用于在设计 API 时快速查阅方法、状态码、路由与常见约定,帮助开发者在设计新端点、选择 HTTP 方法与状态码、实现缓存头、配置限流以及组织错误响应时有一个统一的参照。
主要能力
HTTP 方法
以表格形式给出各方法的用途、幂等性与可缓存性:
- GET:检索资源,幂等,可缓存
- POST:创建新资源,非幂等,不可缓存
- PUT:整体替换资源,幂等,不可缓存
- PATCH:部分更新,是否幂等为 Maybe,不可缓存
- DELETE:删除资源,幂等,不可缓存
关键状态码
列出常用状态码及其使用场景:200 OK(带响应体的成功)、201 Created(POST 成功,需附加 Location 头)、204 No Content(成功但无响应体)、400 Bad Request(语法无效)、401 Unauthorized(未认证)、403 Forbidden(未授权)、404 Not Found(资源不存在)、422 Unprocessable(校验错误)、429 Too Many Requests(被限流)、500 Server Error(内部故障)。
资源设计
给出典型的 CRUD 路由约定,包括列表、创建、获取单个、替换、部分更新与删除,例如对 /users 的 GET、POST、GET /users/{id}、PUT /users/{id}、PATCH /users/{id}、DELETE /users/{id}。同时列出查询参数的使用方式:分页(?page=2&limit=20)、排序(?sort=created_at:desc)、过滤(?role=admin)。
安全清单
以勾选项形式列出安全要点:仅使用 HTTPS/TLS;使用 OAuth 2.0 或 JWT 进行认证;校验所有输入;按客户端进行限流;配置 CORS 头;URL 中不包含敏感数据;对敏感响应使用 no-store。
常见错误
以对照表形式列出常见错误与修正,例如 URL 中出现动词(/getUsers 改为 /users)、过深嵌套(扁平化或改用查询参数)、用 200 表示错误(改用恰当的 4xx/5xx)、未分页(集合始终分页)、缺少限流(防止滥用)。
速查模式
提供常见任务的模式速查:分页 ?page=2&limit=20、排序 ?sort=field:asc、过滤 ?status=active、稀疏字段 ?fields=id,name、包含关联 ?include=orders。
使用方式
资料说明,如需更详细的模式,可加载以下参考文件:
- ./references/status-codes.md:完整状态码参考及示例
- ./references/caching-patterns.md:Cache-Control、ETag、CDN 模式
- ./references/rate-limiting.md:限流策略与头部
- ./references/response-formats.md:错误、版本化、批量操作、HATEOAS
该技能会在涉及 rest api、http methods、status codes、api design 等主题时被触发。
适用场景
- 设计新的 API 端点
- 选择 HTTP 方法与状态码
- 实现缓存头
- 配置限流
- 结构化错误响应
限制
资料未提供关于安装命令、具体运行环境、收费方式或平台支持的信息,这些内容暂未提供。本技能以参考速查为主,详细实现细节需依赖上述 references 子文件,但资料中未给出这些子文件的完整内容。