api-patterns
通过模式指导设计更好的API
构建API时没有清晰的设计原则会导致接口不一致和开发者体验不佳。本技能提供决策树和最佳实践,帮助您选择正确的API风格并正确实现它。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“api-patterns”。 对于具有复杂数据关系的移动应用,我应该使用REST还是GraphQL?
预期结果:
GraphQL更适合您的用例,因为:1) 移动应用受益于灵活查询以减少过度获取,2) 多个前端平台可以精确请求所需数据,3) 复杂数据图自然映射到GraphQL模式。但是,如果您的团队熟悉GraphQL且具备查询成本分析的基础设施,请考虑使用GraphQL。
正在使用“api-patterns”。 对于创建用户的POST端点,我应该使用哪些HTTP状态码?
预期结果:
成功创建用户时使用201 Created,无效输入时使用400 Bad Request,邮箱已存在时使用409 Conflict,服务器错误时使用500。在响应体中包含创建的用户,并将Location header设置为新资源的URI。
安全审计
安全All 67 static findings are false positives. The skill is a documentation resource for API design patterns. Backticks detected are markdown code formatting, not shell commands. No weak cryptography or reconnaissance tools present.
中风险问题 (1)
低风险问题 (1)
质量评分
你能构建什么
选择API架构
开发者启动新项目,需要根据其前端技术栈和数据复杂性在REST、GraphQL或tRPC之间做出决定。
设计REST端点
团队正在实现REST API,需要关于资源命名、HTTP方法和正确状态码使用的指导。
API安全审查
安全工程师使用OWASP API Top 10清单对现有API进行常见漏洞审计。
试试这些提示
我正在构建[描述您的项目,例如:使用React前端和Node.js后端的电商应用]。我应该使用什么API风格?权衡点是什么?
我需要为[描述资源,例如:带有个人资料、帖子和评论的用户管理]设计REST端点。向我展示正确的URL结构、HTTP方法和状态码。
处理API错误的最佳方式是什么?向我展示正确的响应格式以及针对[列出错误场景]使用哪些HTTP状态码。
我应该如何对我的API进行版本控制?我预计API会随着时间演变。请比较URI版本控制、header版本控制和查询参数版本控制。
最佳实践
- 根据客户端需求选择API风格,而非个人偏好 - 考虑前端技术栈、数据复杂性和缓存需求
- 在所有端点中使用一致的响应封装和标准错误格式
- 从一开始就实施速率限制,并在API文档中清晰传达限制
避免
- 在REST端点中使用动词(例如:/getUsers而非GET /users)
- 在同一资源的不同端点返回不同的响应格式
- 向API客户端暴露内部错误消息和堆栈跟踪