@Rays
2017-03-13T11:44:06.000000Z
字数 874
阅读 1877
Google
摘要: Google公开了用于创建HTTP或RPC API的API设计指南。对于创建连接Google Cloud Endpoints的gRPC API的开发人员来说,这些设计原则更值得推荐使用。
作者: Abel Avram
正文:
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等方面,指南提供了更多细节和例子。