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