Google公開了云服務API設計指南
英文原文: Google Makes Public Their API Design Guide
Google 公開了用于創建 HTTP 或 RPC API 的 API 設計指南。對于創建連接 Google Cloud Endpoints 的 gRPC API 的開發人員來說,這些設計原則更值得推薦使用。
早在 2014 年,Google 在創建云服務 API 或其它服務 API 時就開始在內部使用了這些設計指南。指南中探討了 HTTP 或 RPC API 的設計。雖然 HTTP API(也稱為 REST API)的優點是公認的,但是它們距離實用尚有時日。Google 推薦 RPC 尤其是其變體 gRPC。據 Google 說,雖然大部分的因特網 API 是 HTTP,但是通常被云服務和服務提供商內部使用的是 RPC,并在數量上遠高于 HTTP API。
對于通過方法操作一個或多個資源這樣的場景,Google 推薦在設計 RPC API 時使用類 REST 方法。資源(也可稱為域實體)使用 URI 表示,也可以在網絡路徑格式后面加上唯一的名稱(ID)。同一類型的資源將組織成同一集合。
使用的標準方法包括Create
、Delete
、Get
、List
和Update
。對于不能映射到任一標準方法上的操作,例如數據庫事務,用戶也可以創建自定義方法。推薦使用較少的方法來操作盡可能多的資源。
在創建資源時,推薦執行如下步驟:
- 確定 API 提供的資源類型。
- 確定資源間關系。
- 基于類型和關系確定資源的命名模式。
- 確定資源模式。
- 為資源附加最小的方法集。
Google 使用“語義化版本”標準命名版本,命名使用三個數字,形式為“主版本.次版本.補丁”。預發布版本在命名時添加了一個前綴,例如“1.0.0-alpha”。
對于資源、標準、自定義方法、標準域、錯誤、使用 proto3 創建 API 等方面,指南提供了更多細節和例子。
來自: InfoQ