什么是GraphQL?是一种查询语言

2020.06.13 -

   

GraphQL是一种非常强大的查询语言,用于在客户端,浏览器,服务器之间进行数据通信,它使我们能够以比静态方法更为灵活和有效的方式来构建数据驱动的应用程序。

想象一下,我们为显示书籍和作者的网站创建了一种轻松的API。现在要检索有关特定书籍的信息并将其显示在网页上,我们可能会向端点发出AJAX请求。这将带回一些信息,例如标题,类别,评论等。

GraphQL

GraphQL有什么用?

它可以根据客户的需求来选择数据,从而减少通过导线传输的数据量。因此,移动客户端在较小的屏幕上获取所需的信息较少。如今,大多数API的最大问题在于,它们缺乏与操作有关的牢固合同。开发人员发现自己处在期望使用过时和不足的API文档的情况下,这些文档缺乏了解API支持的所有操作以及如何使用它们的正确方法。另一方面,GraphQL具有适当的文档。

您可以使用GraphQL做什么?

GraphQL服务器的结构使得声明式获取数据成为可能。仅需一个请求,就可以更轻松地收集所需的数据。 例如,让我们想象一下一个人要求特定歌手的详细信息(例如姓名,曲目等)的情况。

对于传统的REST模式,这至少需要对两个端点/ artists和/ tracks的两个请求。但是,如果使用它,则可以仅通过一个GraphQL查询定义所有数据以请求多个资源。

GraphQL的优点

GraphQL API具有强类型化架构:

  • 不会过度获取和不足
  • 它可以实现快速的产品开发
  • 丰富的开源生态系统和令人惊叹的社区

通过这些讨论,我们可以得出结论:这是一项十分有用的技术,但是在做出重要的体系结构决策之前必须了解这些权衡。

诸如具有很少实体和实体间关系的API并不真正适合GraphQL。但是,具有多个域对象的应用程序(例如电子商务应用程序中您拥有许多实体)可能更适合于此。它是一个非常强大的工具,有很多原因可以在项目中选择它,但是无论如何,您都不必忘记最重要的一点,就是选择适合您项目的工具。

本站文章禁止转载,违者必究
阅 117
0

GraphQL是一种非常强大的查询语言,用于在客户端,浏览器,服务器之间进行数据通信,它使我们能够以比静态方法 […]

湘公网安备 43011102001693号

    湘ICP备19003021号-1