SuperAPI AI 工具集

api-design

编程与开发

查看项目

更新于 10-16 08:11

技能介绍

用途:在系统设计已确定服务与数据存储后,定义外部接口契约——客户端发送什么、返回什么、如何翻页、重试写入如何避免重复执行、错误如何上报、契约如何演进。

主要能力:按调用形态选择协议(REST/JSON、gRPC、GraphQL、WebSocket/SSE、Webhooks);选择分页策略(游标/keyset 为默认,offset/limit 仅用于小型静态可跳页列表);定义幂等键契约(非幂等写入需带 Idempotency-Key,服务端去重并设 TTL);统一错误信封(code、message、request_id、retryable);版本策略(优先增量兼容,破坏性变更才升版本)。

使用方式:先明确调用形态、读写比与结果集大小、重试安全性、客户端多样性与变更频率、延迟与载荷预算;再据权衡表选协议与分页;设定幂等、错误、版本等关键参数;对契约做压力测试(限制默认与最大页大小、GraphQL 深度/复杂度、载荷上限,推送场景规划带抖动的重连与连接上限,返回 429 + Retry-After);用请求量、响应大小、每会话页数、更新频率×扇出等数字验证选择。

适用场景:需要为已命名服务与数据存储定义接口时;公开可缓存、浏览器友好的 API 默认 REST/JSON;内部服务间低延迟、强类型用 gRPC;多客户端字段需求差异大用 GraphQL;服务端需主动推送用 SSE/WebSocket;异步第三方事件用 Webhooks。

限制:需求与规模未确定前不应进入本技能;不要因“现代”而选 gRPC/GraphQL/流式;内部数据访问键与分区设计属于 data-storage;重试/退避/限流属于 resilience-failure;并发不变量属于 consistency-coordination;异步事件契约属于 messaging-streaming。若用户指定云厂商,可查阅 references/providers/<provider>.md 获取托管服务映射与配额;无对应文件则用通用方案。可视化请使用插件内 architecture-diagram 技能,不在此嵌入 Mermaid。