API架构选GraphQL还是REST?详细对比两者的特性和优缺点

选择将包含在下一个项目的技术堆栈中的技术可能很困难。在许多情况下——尤其是在 GraphQL 和 RESTful API 之间进行选择时——都是为了选择下一个最佳 API 设计架构。

构建 API 有四种重要的方法:SOAP、GRPC、REST 和 GraphQL。每当我们想要构建 API 时,我们经常将注意力集中在 REST 和 GraphQL 上。这是因为 REST 改变了使用 SOAP 和 GRPC 构建 API 的传统方式。

GraphQL 被广泛标记为更好的 REST,因为它代表了一种更好的构建 API 的方式。许多开发人员认为 GraphQL 将取代 REST。更多人已经发现 GraphQL 有助于解决开发人员在构建 REST API 时面临的一些常见挑战。

这两种构建 API 的方法完全不同。在实践中,这些技术通过发送 HTTP 请求并接收结果来工作。它们各有利弊,在本文中,我们将广泛讨论这两种改变了我们开发和扩展 API 方式的伟大技术。

不过,在深入了解细节之前,让我们先探讨一下 GraphQL 和 RESTful API 的含义。

什么是 GraphQL?

GraphQL 是一种 API 查询语言,也是使用现有数据回答这些查询的运行时。它还配备了强大的工具来处理最复杂的查询。

GraphQL 的核心特性是它能够请求和接收所请求的特定数据——仅此而已。这使得随着您的应用程序扩展您的 API 变得更加简单。

GraphQL 最令人兴奋的部分是它能够在一个端点中为您提供所有数据。

GraphQL API 架构

GraphQL API 架构

上图是 GraphQL 架构的典型表示。客户端从不同的设备发出请求,GraphQL 处理他们的请求并只返回他们请求的数据。这巧妙地解决了 RESTful API 中的过度获取和获取不足的问题。

在 GraphQL 游乐场中成功查询

在 GraphQL 游乐场中成功查询

在上面的示例中,我们展示了一个 GraphQL 游乐场以及如何使用单个端点查询数据。顶部是 API 端点,左侧是请求大陆名称的查询,最后,在右侧,我们响应我们请求的查询。

GraphQL 由 Facebook 创建,主要目的是解决他们的移动应用程序开发人员在使用 REST API 时的体验。自 2015 年发布第一个开源版本以来,GraphQL 经历了巨大的增长,因为科技行业的大公司采用了该技术。

使用 GraphQL 的公司

下面列出了一些在其服务器上积极使用 GraphQL 的公司和应用程序。

Facebook

Facebook 创建了 GraphQL,自 2012 年以来,他们一直在生产中使用它来支持他们的移动应用程序。这家价值数十亿美元的社交网络公司于 2015 年开源了 GraphQL 规范,使其可以在许多环境和各种规模的团队中访问.

Facebook 使用 GraphQL

Facebook 使用 GraphQL

GitHub

GitHub 还通过提供 GraphQL API 来宣布使用 GraphQL,该 API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WPHunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值