BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

Google公开了云服务API设计指南

| 作者 Abel Avram ,译者 Rays 发布于 2017年3月15日. 估计阅读时间: 不到一分钟 | 顶尖技术领导者的管理实战经验分享,尽在GTLC!

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)。同一类型的资源将组织成同一集合。

使用的标准方法包括CreateDeleteGetListUpdate。对于不能映射到任一标准方法上的操作,例如数据库事务,用户也可以创建自定义方法。推荐使用较少的方法来操作尽可能多的资源。

在创建资源时,推荐执行如下步骤:

  • 确定API提供的资源类型。
  • 确定资源间关系。
  • 基于类型和关系确定资源的命名模式。
  • 确定资源模式。
  • 为资源附加最小的方法集。

Google使用“语义化版本”标准命名版本,命名使用三个数字,形式为“主版本.次版本.补丁”。预发布版本在命名时添加了一个前缀,例如“1.0.0-alpha”。

对于资源、标准、自定义方法、标准域、错误、使用proto3创建API等方面,指南提供了更多细节和例子。

查看英文原文: Google Makes Public Their API Design Guide


感谢张卫滨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT