写点什么

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

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

关注

评论

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

一种通过延迟事务提升数据库性能的方法

天翼云开发者社区

数据库

语音识别技术:从离线到在线的转变

数据堂

实用帖|打破常规,巧用分层地毯的8种方法!

Finovy Cloud

C4D

云原生数据湖为什么要选择腾讯云大数据DLC,一份性能分析报告告诉你!

腾讯云大数据

数据湖

JAVA OOM异常最佳实践

Yestodorrow

Java 运维 监控 可观测性 系统性能

一种提升SQL改写效率的方法

天翼云开发者社区

数据库

首单立减7元华为负一屏买电影票又便宜又快

最新动态

一文带你走进 Linux 小工具 - tmux

KaiwuDB

Linux tmux KaiwuDB

直播速递 | Hash Index 原理和应用精讲

KaiwuDB

阿里云易立:以云原生之力,实现大模型时代基础设施能力跃升 | KubeCon 主论坛分享

阿里巴巴云原生

阿里云 容器 云原生 KubeCON

语音识别技术的现状及发展趋势

数据堂

如何利用Vert.x快速开发你的应用

Kevin_913

从传统到现代:语音识别技术的飞跃

数据堂

ChatGPT 重磅更新可进行实时网络搜索;OpenAI 将构建新的“AI 硬件”丨RTE开发者日报 Vol.59

RTE开发者社区

2万张优惠券限时抢!华为Mate60负一屏邀你观影国庆档喜剧

最新动态

ipaguard界面概览

HarmonyOS人才赋能交流会落地济南,共筑繁荣鸿蒙生态

最新动态

与创新者同行!Doris Summit Asia 2023 完整议程公开,首届线下峰会邀你报名!

SelectDB

大数据 数据分析 Doris 峰会 数据库、

基于云原生的集群自愈系统 Flink Cluster Inspector

Apache Flink

大数据 flink 实时计算

前端首屏优化 | 提升首屏的 8 个很简单的手段

Yestodorrow

可观测性 网站性能

<em> 和 <strong> 标签的区别

Lee Chen

html 前端

基于Java开发的企业人力资源管理系统(招聘、绩效、考勤、酬薪管理)

金陵老街

ios证书类型及其作用说明

全面解读 SQL 优化 - 统计信息

KaiwuDB

sql 优化 KaiwuDB

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