SuperAPI AI 工具集

api-design-principles

编程与开发

查看项目

更新于 10-16 06:16

技能介绍

该技能聚焦 REST API 的设计理论与规范,帮助构建直观、可扩展、可维护的 API,不含具体实现代码;实现层面的内容被引向 abp-service-patterns、api-response-patterns、fluentvalidation-patterns 等其它技能。

适用场景:设计新的 REST API 契约;在实现前评审 API 规范;为团队建立 API 设计标准;规划 API 版本与演进策略;编写开发者友好的 API 文档。目标读者包括负责契约设计的后端架构师、负责标准与评审的技术负责人,以及需要理解 API 能力的业务分析师。

主要能力与要点:

  1. 面向资源设计:接口暴露资源(名词)而非动作,集合用复数命名,命名风格保持一致(kebab-case 或 camelCase);用 HTTP 方法表达动作;层级嵌套最多两层,避免过深路径,如 /api/v1/patients/{id}/appointments 与 /api/v1/appointments/{id}。
  2. HTTP 方法语义:GET 取资源(安全、幂等、无请求体);POST 创建(非幂等);PUT 整体替换(幂等);PATCH 部分更新;DELETE 删除(幂等)。
  3. 状态码:成功用 200、201、204;客户端错误用 400、401、403、404、409、422、429;服务端错误用 500、503。
  4. 设计模式:分页(偏移式 ?page=2&pageSize=20 适合小数据集与管理后台,游标式适合大数据集与信息流)、过滤与排序(查询参数、WhereIf 仅在有参数时过滤、限定可排序字段、设置最大页大小)、统一错误响应结构(含 code、message、details、traceId)与错误码表、版本策略(URL 路径 /api/v1/ 为 ABP 推荐,另有 Header 与查询参数方式,重大变更升主版本、至少支持 N-1、弃用前提前 6 个月以上通知)、资源关系处理(内嵌、链接或 expand 参数)。
  5. 契约检查清单与反模式:覆盖资源设计、请求响应、安全(认证、授权、限流、不在 URL 放敏感数据、CORS)、文档(OpenAPI/Swagger);应避免动词端点、滥用 POST、无分页、错误格式不一致、暴露数据库内部结构、缺少版本、过深嵌套。

限制:资料仅提供设计原则与示例片段,未提供安装命令、代码实现步骤、收费或平台信息,这些暂未提供。