写点什么

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:005964
用户头像

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

关注

评论

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

Python连接es笔记一之连接与查询es

Hunter熊

Python elasticsearch Elasticsearch-dsl

PDF Expert for mac(pdf编辑工具) v3.7.1中文激活版

展初云

Mac Mac软件 pdf编辑工具

业务流程图用什么软件画?这10款流程图软件,效率快到飞起!

彭宏豪95

流程图 画图软件 在线白板 流程图绘制工具 绘图软件

亚马逊云EC2的存储

孤虹

Amazon EC2 亚马逊云

蓝牙耳机仓设计的单芯片解决方案

梦笔生花

现在的市场,我们怎么选择属于自己的一级币

币离海

zkSync 一级市场 Gensyn enemy

Media Encoder 2024 for mac(媒体转码器) v24.0.3中文版

展初云

Mac Media Encoder 媒体转码软件

“低代码”是什么?

代码生成器研究

「Flink+Hologres 搭建实时数仓」训练营重磅开启

Apache Flink

大数据 flink 实时计算

2023广告节:原生场景结合科技美学,鲸鸿动能赋能企业长效增长

最新动态

GPT-4V新玩法登顶GitHub热榜,随手一画就能生成网页!web开发者:感受到了威胁

Openlab_cosmoplat

低代码开发到底有什么价值?

代码生成器研究

aPaaS 低代码平台的模式是什么?

代码生成器研究

基于ChatGPT自动化测试项目生成方案

lklmyy

测试框架 AIGC

SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY 详解

小万哥

MySQL 数据库 sql 程序员 后端

Ethereum WebSocket接口实践

FunTester

虚拟化有哪些好处?为什么要使用虚拟云桌面?

青椒云云电脑

桌面云 云桌面

11月18日,华为负一屏5万张“大额神券”等你抢!当天领取当天用

最新动态

探索亚马逊大语言模型:开启人工智能时代的语言创作新篇章

熬夜磕代码、

亚马逊

Premiere Pro 2024 for mac(视频编辑工具) v24.0.3中文版

展初云

Mac PR 视频编辑软件 Premiere Pro 2024

低代码平台或零代码平台靠谱吗?

代码生成器研究

桌面云一体机如何安装应用软件?

青椒云云电脑

桌面云一体机

FFA 2023|第六届 Flink Forward Asia 峰会议程正式上线!

Apache Flink

大数据 flink 实时计算

当代企业的数字安全,能“脆皮”到什么程度?

脑极体

AI

bitsCrunch:如何通过 AI 技术重塑 NFT 市场?

股市老人

Mac电脑图像编辑器 Photo Image Editor Pixelstyle激活版

胖墩儿不胖y

图像编辑 Mac软件 编辑图像

低代码开发前景如何,大家都真的看好低代码开发么?

代码生成器研究

如何使用 NFTScan NFT API 在 Linea 网络上开发 Web3 应用

NFT Research

NFT\ NFTScan API 文档

从智能到“致用”,安第斯大模型与潘塔纳尔系统的一次会师

脑极体

大模型

null 不好,我真的推荐你使用 Optional

越长大越悲伤

Java

After Effects 2024 for Mac(视频特效制作工具) v24.0.3中文版

展初云

Mac AE After Effects 视频特效制作软件

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