GraphQL 是 API 的查询语言,也是通过检查信息的排序框架来查询的服务器端运行时。 GraphQL 不附加到特定的信息库或容量马达,由您当前的 代码和数据维护。 GraphQL 管理通过描述这些排序上的类型和字段进行,此时为每种类型的每个地段提供容量。 例如,一个显示客户端签名的 (我) 是 (我) 的 GraphQL 管理,就像该客户端的名称可能看起来像这样:

图形QL

 

 

为什么以及在哪里使用 GraphQL?

使用 GraphQL,用户可以单独决定携带必要的数据,而不是构建一些 REST 请求来获得等效请求。 与发送不同的 REST 呼叫以获得等效项时,选择准确创建客户端数据是一种独特的有利位置。 要使用 REST 调用生成数据,需要分两个阶段的措施 – 一是积累客户端的数据,并带来有关客户端相关关联的数据。 GraphQL 可缓解此双提前周期。

如果你有稳定的放松援助, 很可能没有一个坚实的案例, 抛出整个工作。 这些示例中的任何一个都可以通过备用设备实现。 我认为使用 GraphQL 是实现这些示例的预兆,因为信息的征求/控制(查询)与这些活动的执行脱钩。

 

GraphQL 与 REST 和 SOAP 有何不同

虽然 REST 在 API 排列设计方面是一种创新成就,但尽管一切,它还是让工程师需要更多。 当 Facebook 人员开始搜索从工作人员那里获取信息的替代方法时,他们试图确定当前 API 约定中获取不足或过度获取的问题。 在 REST 或 SOAP 中,请求某些信息恢复与它相关的所有属性;即使是那些客户端不需要的。

GraphQL 旨在处理此问题。 在发出信息请求时,您可以确定希望获得的信息。 此类结果是通过将信息定义能力移动到客户端来完成的,而在 REST 中,信息在工作人员方面具有特征。 因此,在 REST API 设计中,工作人员表示要返回哪些数据,而在 GraphQL API 中,工作人员声明可访问的信息,并且客户指示应该替换哪些数据。

 

GraphQL 的优势

  • 适合复杂的系统和微服务
  • 它通过单个 API 调用获取数据
  • 根据您的需求定制请求
  • 验证和键入开箱即用
  • 自动生成 API 文档
  • 无需版本控制即可进行 API 演化
  • 代码共享

 

图形QL 缺点

一个缺点是问题始终返回 200 的 HTTP 状态代码,即过度查询是否有效。 另一个缺点是缺少隐式存储支持。 由于 REST API 具有各种终结点,因此它们可以使用本地 HTTP 存储来避免预提取资产。

 

增强基于 GraphQL 的 API 性能的本机工具

 

GraphiQL

许多 GraphQL API 利用 GraphiQL 开源 工具作为智能 API 游戏区。 GraphiQL 是 IDE(集成开发环境),用于与 GraphQL API 调用进行通信,使设计人员能够质疑信息并执行转换。 IDE 通常易于实现。 对于 Node JS 开发人员来说,express-GraphQL 可以创建 GraphiQL。 由于它基于 React,GraphiQL 同样可以注入一种 CSS 进行自定义标记。

 

图形QL旅行者

如果你计划向外感知您的信息有多社会化,那么将信息发送到旅行者网站可以进行有趣的分析。 资源管理器采用 GraphQL API 并将其转换为图表。 设置根构造后,您可以看到字段和类型的关联。 资源管理器也是智能的 — 选择包含的一种要素,以及关系图中重要信息的连接。

Voyager给出了一个描绘现场数据的左侧部分和一个 用户可以移动的可视化界面。 客户端同样可以通过使用中继覆盖类来简化关系图。 旅行者仪器过去是可视化数据的一种很酷的方式,可以帮助组织想象他们的信息模型,并闪耀关于社交信息的讨论。 最后,我们可以看到 GraphQL 背后的”图表”。

 

图形 CMS

GraphCMS 是一个 API 驱动的内容管理系统 (CMS),亲自附加到 GraphQL,允许用户为 Web 应用程序构建一个便利的 GraphQL,从而提供用于监督内容的工具。 客户端描述信息结构,在 GraphQL 支持中批准它们,并查看 UI 的描绘,所有这些都在类似的阶段内。

GraphCMS可能不是当前API平台的可靠匹配,它非常适合博客,应用程序或其他需要自动共享信息的应用程序。 与其他流行的CMS平台(如 WordPress 或Drupal)相比,基于GraphQL的CMS将是一个迷人的选择,并且将提供适应性更强的解决方案,该 解决方案 可用于用户界面的API。

 

图形 QLD 费克

如果要对 basci API 进行建模,添加一些测试文本进行测试会有所帮助。 工程师可以嵌入实用信息,以复制与 Faker 的真正结果。 它由F9r.js控制,使工程师能够嘲弄60种有用的信息,类似于地址、名字和姓氏、符号图片,这才刚刚开始。 您需要开始的所有操作都是编写 GraphQL 接口定义语言 (IDL),Faker 提供了一些指南,用于在 IDL 校对器内开始。 这就像向字段添加订单一样简单:

键入人员 |

名称:字符串@fake(类型:名字)

性别:字符串@examples(值:[“男性”,”女性”])

}

 

使用 LoadView 测试基于图形QL的 API

LoadView 支持邮递员 API 客户端功能,允许用户发送 REST、SOAP、WSDL 和 GraphQL 请求。

第 1 步: 我们将导出集合。 然后导入加载视图。

邮递员集合导出

步骤 2. 登录到 LoadView 并选择邮递员收藏

 

负载测试类型邮递员

步骤 3. 导入邮递员收藏,然后选择”创建设备”。

邮递员收集请求

 

第4步: 创建设备后,您需要设置测试方案。 从多种 负载测试 类型中进行选择 – 负载步长曲线、基于目标的曲线和动态可调曲线。 此外,您还可以为负载喷油器设置位置。 从全球超过 15 个地点进行选择。

邮递员集合加载类型

 

测试完成后,您可以查看各种 性能数据和图表,包括平均响应时间、错误、元素级指标等。

 

 

总结:负载测试图形QL Web API

似乎每天都在增加更多的 GraphQL API。 理想情况下,使用本文中引用的工具方法,更多公司可以实现 GraphQL API 的好处,使用 LoadView 加载测试 API 非常简单。

立即注册免费试用版,开始使用 LoadView 自动执行 API 性能测试。

 

 

GraphQL 徽标: Facebook / BSD (http://opensource.org/licenses/bsd-license.php)