哪个最适合 API 开发?

GraphQL 对比REST:哪个最适合 API 开发?
API是应用程序编程接口的缩写,是一种软件中介,允许两个应用程序相互通信。它可以是服务器、客户端或与服务器通信的应用程序。以下时间线说明了它多年来的演变,并为如何构建 API 奠定了良好的基础。 REST 仍然是创建 API 的流行工具。然而,在 2012 年,Facebook 想要一些与 REST 不同的东西,就在那时引入了 GraphQL(图形查询语言)。

时间线
来源:https://blog.api.rakuten.net/graphql-vs-rest/
什么是休息?
REST 代表表述性状态传输,这意味着每个资源都有自己的端点。最初,它是 Roy Fielding 在 2000 年发表的一篇论文,并在 2006 年由 Twitter 等公司推广。REST 是基于网络的软件的架构概念。它没有官方工具集,没有规范,并不特别关心你是否使用 HTTP、AMQP 等,并且旨在将 API 与客户端解耦。

REST API 面临的主要挑战
REST API 有时需要多次往返。 当我们需要显示一些需要从不同端点消费的数据并且从单个端点消费数据是不够的时,这适用于。下表说明了三个端点:

获取/用户 列出所有用户

获取/用户/:id 获取id为唯一的用户:id
获取/用户/:id/项目 获取用户所有项目
如果在客户端应用程序中我们需要搜索与该特定用户相关的项目以 马来西亚电报数据 及可能与项目本身相关的一些任务怎么办?后端团队是否应该开发一些额外的东西?有以下几种可能的方法:

要包含查询,然后将任务返回到每个项目: GE

马来西亚电报数据
要拥有单独的端点、资源项目并要求客户端应用程序根据用户 ID 进行查询
过度搜索和搜索不足。 当需要返回太多数据时,客户端应用程序并不需要全部数据。如果客户被要求下载他们实际上不需要的附加信息,他们将不会高兴。另一方面,通过减少服务器上的信息级别,您可能会遇到获取不足的问题,并且需要服务器上的另一个端点和额外资源来获取该数据。解决方案是: GET /users?fields=firstname,lastname。

难以创建版本并丢弃新版本不需要的字段。当 REST API 随着时间的推移而增长并且需要不同的要求来支持不同的应用程序版本和多个客户端时,它们很难维护。因此,通常 v1 保持原样,而 v2 使用更新的数据结构生成。使用 GraphQL,无需版本控制即可完成。 GraphQL 仅返回显式请求的数据,因此可以通过新类型和这些类型上的新字段添加新功能,而不会产生重大更改。这导致了不断避免相关更改并提供无版本 API 的常见做法。

数据不可预测。使用 REST,您不知道服务器将返回哪些数据:哪些字段、有多少字段等。使用 GraphQL,客户端请求返回特定字段。这是查询还是突变并不重要:您可以控制返回的内容。

什么是 GraphQL?
GraphQL 是一个较新的概念,由 Facebook 于 2015

年公开发布。作为一种从服务器请求数据的新方式是一种

查询语言、规范和工具集合,旨在通过 HTTP 在单个端点上进行操作,并针对性能和性能进行了优化。灵活性。

此表对 GraphQL 和 REST 这两种构建 API 的方法进行了比较。一般来说,这不能被视为苹果与苹果之间的比较,而是橙色与苹果之间的比较,因为 REST 是 API 规划的传统标准,而 GraphQL 是一种帮哪个最适合   助解决 API 问题的查 电子邮件线索带领 询语言。然而,两者仍然是水果。 ?

 

GraphQL 休息
一种查询语言,可高效、灵活地解决集成 API 时的常见问题 一种架构风格在 lemos viajantes:环游世界而不破产 很大程度上被视为 API 设计的传统标准。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部