1.3 KiB
1.3 KiB
API 合約設計 (API Contract Design) 知識合約指南
概述
api-contract-design 是知識合約,不是 workflow 技能。用來定義 API 合約的設計原則,包含請求/回應結構、狀態碼、分頁機制、認證邊界與冪等性行為。供 design-architecture 在定義 API 時參考。
核心原則
- API 是生產者與消費者之間的合約,穩定性與清晰度至關重要
- 每個端點必須服務至少一個 PRD 功能需求
- 合約必須明確、完整且無歧義
- 破壞性變更必須避免;必須規劃版本管理
設計重點
- REST API:端點定義、請求結構、回應結構、狀態碼、分頁、過濾
- 非 REST API:GraphQL schema、gRPC service 定義、WebSocket 訊息格式
- 錯誤回應格式:一致的錯誤碼、機器可讀與人類可讀的訊息
- 版本策略:URL path versioning 與 header versioning 的適用場景
知識合約職責
- 提供 API 設計的理論指引
- 不直接產生 API 規格(由
generate_openapi_spec負責格式) - 與
generate_openapi_spec搭配使用:前者提供原則,後者提供格式
不應做的事
- 不產生 API 規格檔案
- 不替特定端點命名或定義結構(那是
design-architecture的職責) - 不做最終技術選型