了解为什么我们建议通过 GraphQL 而非 REST 进行集成。
Zonos 提供两种主要 API 类型用于集成:GraphQL 和 REST。虽然 REST API 的历史更悠久,可能对许多人来说更加熟悉,但我们已经转向 GraphQL,以实现更大的灵活性和更快速的创新。虽然两者仍然都受支持,但本指南解释了为什么 GraphQL 不仅是我们集成的未来,也是一般集成的未来,并且是今天满足您需求的更强大工具。
GraphQL 是一种与 API 通信的替代方式,非常适合复杂的数据结构和在其基础上构建界面。与将数据视为单独的独立部分不同,GraphQL 展示了数据片段如何连接和相互关联,使得询问和接收信息变得容易。
将 GraphQL 视为一种查询语言,允许您与 API 交互,就像直接与数据库交互一样。使用 GraphQL 可以让您尽可能接近数据库,允许您选择所需的数据以及获取方式,提供巨大的性能优势。
GraphQL 由 Facebook 创建,以解决复杂数据结构扩展的问题。由于 Facebook 成功采用了它,越来越多的公司开始认识到使用 GraphQL 来构建 API 的好处。
GraphQL API 比您想象的更容易使用。如果您习惯于使用 REST API,以下是 REST 的核心概念如何转换为 GraphQL。
GraphQL 通过精确的数据检索、单个端点的使用以及改进的批处理和缓存功能提供更快的响应。
REST 的一个常见挑战是数据的过度获取或获取不足——要么获取太多不必要的信息,要么一次性没有足够所需的信息。GraphQL 通过仅允许请求所需的内容来消除这一点——不多不少。这种特定性不仅改进了性能,而且简化了与 API 交互的过程,使系统更高效和用户友好。
此方法有用的示例:
GraphQL API 通常具有单个端点,与通常具有多个端点用于不同资源和操作的 REST API 不同。这使得管理和理解 API 变得更简单。
GraphQL 批处理查询的能力及其对缓存策略的支持导致显著的性能改进。这些功能减少了网络和服务器上的负载,转化为更快、更可靠的用户交互。
GraphQL API 基于强类型架构。这个架构定义了可用数据的结构以及可以执行的操作。这提供了关于哪些数据可用以及如何访问它的清晰性,可以提高开发人员的生产力并减少错误。例如,前端团队可以探索图表以获得他们所需的确切内容,而不是等待新的 REST 端点。
在 GraphQL 中添加新功能或修改现有功能不会因为其灵活的查询结构而中断当前的集成。这一功能确保了可以进行改进而不破坏与现有客户端的兼容性。
感谢 GraphQL 的内省功能,文档会自动生成并在每次更改时更新。这确保了提供给开发人员的所有信息都是最新的,减少了与过时文档相关的集成问题和支持工单——这是 REST API 文档通常面临的挑战。
查看我们的 GraphQL 文档 和我们的 REST 文档 以查看区别。
想象您在一家餐厅,菜单让您完全按照喜欢的方式订购菜肴,而另一家餐厅您只能从套餐中选择。GraphQL 就像第一家餐厅:
GraphQL 为获取数据提供了比 REST API 更灵活、更高效和更简单的方式,尤其是当您的需求变化或增长时。
在过去几年现代化我们的平台时,Zonos 选择了使用 GraphQL 而非 REST 为我们的 API 构建新功能。我们决定这样做是因为我们的数据很复杂且相互关联,就像导致 Facebook 创建 GraphQL 的数据一样。这种复杂性使得构建可扩展的 REST API 变得困难,因为开发人员需要获取和使用数据的方式在实现之间差异很大,而 REST 并不灵活。
GraphQL 通过允许实现我们 API 的开发人员选择所需的确切数据以及获取方式来整洁地解决这个问题。这允许他们将其适配到他们的工作流中,而无需 Zonos 为每种情况进行自定义工作(当他们等待时)。
使用 GraphQL 和我们平台中现代化的综合结果使我们的 API 性能更强,使集成 Zonos 到您的系统更快,并使 Zonos 能够更快速地交付新功能。
Zonos 持续开发新功能,GraphQL 是首个(通常也是唯一)接收这些更新的。相比之下,我们的 REST API 被认为是生命周期结束,无法访问许多新功能。
仅限于 GraphQL 的功能示例:
为什么选择 GraphQL
为什么选择 GraphQL
了解为什么我们建议通过 GraphQL 而非 REST 进行集成。
Zonos 提供两种主要 API 类型用于集成:GraphQL 和 REST。虽然 REST API 的历史更悠久,可能对许多人来说更加熟悉,但我们已经转向 GraphQL,以实现更大的灵活性和更快速的创新。虽然两者仍然都受支持,但本指南解释了为什么 GraphQL 不仅是我们集成的未来,也是一般集成的未来,并且是今天满足您需求的更强大工具。
什么是 GraphQL?
GraphQL 是一种与 API 通信的替代方式,非常适合复杂的数据结构和在其基础上构建界面。与将数据视为单独的独立部分不同,GraphQL 展示了数据片段如何连接和相互关联,使得询问和接收信息变得容易。
将 GraphQL 视为一种查询语言,允许您与 API 交互,就像直接与数据库交互一样。使用 GraphQL 可以让您尽可能接近数据库,允许您选择所需的数据以及获取方式,提供巨大的性能优势。
GraphQL 由 Facebook 创建,以解决复杂数据结构扩展的问题。由于 Facebook 成功采用了它,越来越多的公司开始认识到使用 GraphQL 来构建 API 的好处。
已经了解 REST?GraphQL 会很熟悉。
GraphQL API 比您想象的更容易使用。如果您习惯于使用 REST API,以下是 REST 的核心概念如何转换为 GraphQL。
GraphQL 的优势
更快的响应
GraphQL 通过精确的数据检索、单个端点的使用以及改进的批处理和缓存功能提供更快的响应。
精确的数据检索
REST 的一个常见挑战是数据的过度获取或获取不足——要么获取太多不必要的信息,要么一次性没有足够所需的信息。GraphQL 通过仅允许请求所需的内容来消除这一点——不多不少。这种特定性不仅改进了性能,而且简化了与 API 交互的过程,使系统更高效和用户友好。
此方法有用的示例:
单个端点
GraphQL API 通常具有单个端点,与通常具有多个端点用于不同资源和操作的 REST API 不同。这使得管理和理解 API 变得更简单。
批处理和缓存
GraphQL 批处理查询的能力及其对缓存策略的支持导致显著的性能改进。这些功能减少了网络和服务器上的负载,转化为更快、更可靠的用户交互。
定义良好的架构
GraphQL API 基于强类型架构。这个架构定义了可用数据的结构以及可以执行的操作。这提供了关于哪些数据可用以及如何访问它的清晰性,可以提高开发人员的生产力并减少错误。例如,前端团队可以探索图表以获得他们所需的确切内容,而不是等待新的 REST 端点。
能够改进而不破坏现有客户端
在 GraphQL 中添加新功能或修改现有功能不会因为其灵活的查询结构而中断当前的集成。这一功能确保了可以进行改进而不破坏与现有客户端的兼容性。
最新的文档
感谢 GraphQL 的内省功能,文档会自动生成并在每次更改时更新。这确保了提供给开发人员的所有信息都是最新的,减少了与过时文档相关的集成问题和支持工单——这是 REST API 文档通常面临的挑战。
查看我们的 GraphQL 文档 和我们的 REST 文档 以查看区别。
一个类比
想象您在一家餐厅,菜单让您完全按照喜欢的方式订购菜肴,而另一家餐厅您只能从套餐中选择。GraphQL 就像第一家餐厅:
GraphQL 为获取数据提供了比 REST API 更灵活、更高效和更简单的方式,尤其是当您的需求变化或增长时。
Zonos 如何使用 GraphQL
在过去几年现代化我们的平台时,Zonos 选择了使用 GraphQL 而非 REST 为我们的 API 构建新功能。我们决定这样做是因为我们的数据很复杂且相互关联,就像导致 Facebook 创建 GraphQL 的数据一样。这种复杂性使得构建可扩展的 REST API 变得困难,因为开发人员需要获取和使用数据的方式在实现之间差异很大,而 REST 并不灵活。
GraphQL 通过允许实现我们 API 的开发人员选择所需的确切数据以及获取方式来整洁地解决这个问题。这允许他们将其适配到他们的工作流中,而无需 Zonos 为每种情况进行自定义工作(当他们等待时)。
使用 GraphQL 和我们平台中现代化的综合结果使我们的 API 性能更强,使集成 Zonos 到您的系统更快,并使 Zonos 能够更快速地交付新功能。
更好的功能
Zonos 持续开发新功能,GraphQL 是首个(通常也是唯一)接收这些更新的。相比之下,我们的 REST API 被认为是生命周期结束,无法访问许多新功能。
仅限于 GraphQL 的功能示例:
这个页面有帮助吗?