写点什么

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

  • 2017-03-14
  • 本文字数:741 字

    阅读完需:约 2 分钟

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 )关注我们。

2017-03-14 19:005942
用户头像

发布了 227 篇内容, 共 73.9 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

android项目开发实战入门百度网盘,【面试总结】

android 程序员 移动开发

Android高级工程师每日面试题精选,重要概念一网打尽

android 程序员 移动开发

flutter下拉刷新背景,学Android看这就完事了

android 程序员 移动开发

深圳企业办理等保业务,应该怎么办理?选择哪款堡垒机好?

行云管家

网络安全 等保 等级保护 等保测评

android音频面试题,android组件化开发框架

android 程序员 移动开发

fluttertextfield光标,想跳槽涨薪的必看

android 程序员 移动开发

博文视点“阿里云全系列技术图书”隆重亮相2021云栖大会

博文视点Broadview

推荐电脑手机都能用的youtube视频下载神器,包括苹果手机也能使用

So...

油管视频下载 youtube

android算法面试题,附超全教程文档

android 程序员 移动开发

android面试题及答案2019,rxjava原理面试

android 程序员 移动开发

android音视频面试,小程序开发教程

android 程序员 移动开发

浅谈工作量证明对于区块链系统的必要性

CECBC

BAT这种大厂履历意味着什么,字节跳动资深面试官亲述

android 程序员 移动开发

flutterpageview嵌套,阿里P8亲自讲解

android 程序员 移动开发

flutter瀑布流组件,腾讯T3面试官透露

android 程序员 移动开发

flutter调试技巧,惊喜

android 程序员 移动开发

html5移动开发即学即用网盘,差点无缘Offer

android 程序员 移动开发

html5移动开发即学即用网盘,面经解析

android 程序员 移动开发

GTLC 全球技术领导力峰会 | 渐进式的研发管理改进之路

万事ONES

研发管理 研发效能 ONES

html5移动端开发2020,跳槽大厂必看

android 程序员 移动开发

android网络开发技术答案,retrofit原理

android 程序员 移动开发

Android面试题集锦在这里,Android开发面试基础

android 程序员 移动开发

另一只眼看软件研发效能提升,软件研发效能的“人性”与“物性”

博文视点Broadview

flutter跳转原生,零基础也能看得懂

android 程序员 移动开发

game+defi系统开发需求(公司)

flutter教程gitbook,走进Android架构

android 程序员 移动开发

普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸

Java 程序员 架构 面试 后端

QCon 全球软件开发大会 | 大型团队研发效率持续改进实践

万事ONES

研发管理 研发效能 ONES

android音视频何俊林,音视频开发进阶指南

android 程序员 移动开发

flutter中文教程,程序员必看

android 程序员 移动开发

flutter页面跳转数据,直面春招

android 程序员 移动开发

Google公开了云服务API设计指南_REST_Abel Avram_InfoQ精选文章