HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

区块链+数字版权-区块链存证解决方案

13530558032

2021年目标,我打算这样去实现

谙忆

Kafka.03 - Message 介绍

insight

kafka 2月春节不断更

测试技术

牛鬼蛇神VS魑魅魍魉

入职没见过P8领导,3月后他带着份769页虚拟机笔记出关了

Java架构之路

Java 程序员 架构 面试 编程语言

BOE(京东方)全面发力8K 成为央视8K超高清技术合作伙伴

爱极客侠

智慧平安社区建设解决方案,社区平安建设

13530558032

膜拜!首次公布Java10W字面经,Github访问量破百万

996小迁

Java 编程 程序员 架构 面试

使用动词的力量

将军-技术演讲力教练

955,远程办公,这家公司就在厦门/杭州

夏兮。

远程办公 955 海景 福利好

人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式

刘悦的技术博客

Python 递归 逆向思维 推理 尾递归

阿里+腾讯+字节+滴滴+美团java面试题及答案(2021版)1353道题全部开源

Java架构追梦

Java 面试 架构师 金三银四

山东“互联网+”,组织部智慧党建解决方案

源中瑞-龙先生

2021全网最全总结美团/阿里/百度等大厂面试真题

比伯

Java 编程 架构 面试 程序人生

1353道,阿里+腾讯+字节+滴滴+美团java面试题及答案(2021版)

Java架构师迁哥

Alibaba面试:Java三面凉凉!输在了:微服务,Redis,JVM

Java架构之路

Java 程序员 架构 面试 编程语言

三分钟扫盲:进程与线程基础必知

飞天小牛肉

Java 面试 后端 操作系统 2月春节不断更

牛启新春|优质文章人气大挑战

InfoQ写作社区官方

热门活动

学习 Java 语言,你必须知道的 Java 简史

白色蜗牛

Java spring 程序员

Instana:如何评价可观察性方案?

行人23

2021 - iOS金三银四最新面试技能方向分享

iOSer

ios 面试 技术技能树 程序猿 金三银四

翻译:《实用的Python编程》02_02_Containers

codists

Python 人工智能 容器 后端 数据结构与算法

第十三周 数据应用二 作业 「架构师训练营 3 期」

胡云飞

二、MongoDB基础知识

Kylin

读书笔记 七日更 分布式数据库mongodb 二月春节不断更

一经推出就惨遭GitHub哄抢!什么SQL优化笔记如此出众?

Java架构之路

Java 程序员 架构 面试 语言

为行动而读书-《麦肯锡精英高效阅读法》读书笔记

Harris

读书笔记

京东方“8K+5G”技术助力牛年春晚 开启超高清视频直播时代

爱极客侠

深入了解红黑树

跳蚤

iOS BAT面试对答题

ios 面试

DataNode 服务器节点宕机的时候,HDFS 的处理过程时序图

跳蚤

一个无名之辈与罗永浩的故事

ES_her0

28天写作

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