在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

深度干货 | 揭秘YashanDB融合存储引擎

YashanDB

数据库 国产数据库 存储引擎 数据库内核

软件测试/测试开发丨学习笔记之接口自动化测试

测试人

程序员 软件测试 自动化测试 测试开发 接口自动化

M洞察|“MOBA”还是“MMO”?2023上半年热门手游大盘点来了,拯救你的游戏荒

MobTech袤博科技

PC、手机丝滑合体!移动时代的最大痛点 英特尔和腾讯搞定了

E科讯

促进银行业务高质量发展,神州云科亮相亚太银行数字化创新峰会

通明湖

顶满!阿里P8架构师独家分享的微服务实战笔记

小小怪下士

Java 程序员 微服务 微服务实战

国产BI工具崛起,finebi、瓴羊Quick BI优势分析

对不起该用户已成仙‖

PC、手机生态融合:Intel、腾讯一起找到了最好的路子

E科讯

一文看懂GPT风口,都有哪些创业机会?

引迈信息

人工智能 低代码 ChatGPT JNPF gtp

安全可信 | 增强级认定!天翼云政务云通过云计算服务安全评估

天翼云开发者社区

云服务 服务器安全

简单、快速|DeployKit 云部署套件

CODING DevOps

如何让服务器性能“备而不闲”?

通明湖

ESG成全球风潮,联想造了一个可持续的“进托邦”

脑极体

数字化进程

阿里P8写出的《深入理解Java虚拟机》最新版,轻松学会JVM底层

程序知音

Java JVM Java虚拟机 Java进阶 后端技术

云服务器虚拟化超分与虚机性能关系分析

天翼云开发者社区

云服务器 虚拟化技术

优雅处理HTTP请求:过滤器拦截器、ControllerAdvice和自定义AOP

Java你猿哥

Java Spring Boot ssm 过滤器 拦截器

九科信息流程挖掘产品bit-Miner进入复旦大学管理学院MPAcc课程

九科Ninetech

日程和任务管理:Things3 中文激活版 支持m1

真大的脸盆

Mac Mac 软件 任务管理器 任务管理工具

全景描绘云原生技术图谱,首个《云原生应用引擎技术发展白皮书》重磅发布

通明湖

点云标注简介及其应用

数据堂

INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能等

极限实验室

console Gateway 极限网关 easysearch 极限科技

多模块更新,助力模型训练及应用|ModelWhale 版本更新

ModelWhale

人工智能 云计算 数据标注 在线编程 模型服务

开源数据可视化开发平台FlyFish数据源应用教程详解

云智慧AIOps社区

前端 大前端 低代码 数据可视化

ChatGPT再起争端,如何应对未来的机器挑战?速来学习解决方法!

加入高科技仿生人

人工智能 AI 数字技术 AIGC ChatGPT

走进“上电科”,共探企业信创选型之路

通明湖

神州云科全国巡展·金融客户会北京站成功举办

通明湖

金融数字化转型提质增效,神州云科全国巡展深圳站成功举办

通明湖

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