SuperAPI AI 工具集

ddd-api-designer

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:把 DDD 领域模型落地为 REST API,提供 CQRS 读写分离、数据对象转换链、统一响应、BFF、版本管理与安全设计的规范指引。

主要能力:区分 Command(写,POST/PUT/DELETE,动词后缀,需幂等,不缓存)与 Query(读,GET,资源命名,天然幂等,可用 ETag/max-age);建立 PO(Infrastructure,ORM 映射)→DO(Domain,充血模型)→DTO(跨层传输)→VO(页面展示)四层转换,读方向 PO→DO→DTO→VO,写方向 VO→DTO→Command→DO→PO,Controller 不直接返回领域对象;REST 命名规范(名词复数、kebab-case、嵌套最多 2 层、写操作动词后缀、查询参数分页过滤);HTTP 状态码约定(201/200/204/400/404/409/429/500);统一响应 Result<T>(成功 code+message+data,错误含 requestId,不返回堆栈);BFF 按前端做数据聚合、格式适配、协议转换与响应塑形,不访问数据库、不含业务逻辑;版本策略推荐 URL Path(/api/v1/orders),迁移流程 v1→v1+v2→v2 only→v1 sunset(410 Gone);四层安全模型(认证 JWT/OAuth2/API Key、授权、三层输入校验、差异化限流如 Command 50/s、Query 200/s、Auth 10/s)。

使用方式:按工作流先识别 Command 与 Query,再设计转换链与端点,定义统一响应与错误码(5 位:首位类别+后两位 HTTP+末三位具体错误),按需引入 BFF、版本与安全控制。资料未提供具体安装命令以外的调用细节。

适用场景:将 DDD 聚合暴露为 REST API、CQRS 分离设计、多端(Web/iOS/MiniApp)统一 API、统一响应与错误码、OpenAPI/Swagger 规范输出。

限制:不适用于 GraphQL/gRPC 项目、简单 CRUD 无 DDD、快速原型、纯 gRPC 微服务、无外部消费者的内部工具;团队不熟悉 DDD/CQRS 或无扩展需求的单体应用需谨慎评估。相关技能:ddd-domain-designer、ddd-code-reviewer、ddd-cqrs-architecture、ddd-architecture-doc。