GraphQL 拼接 VS 合并模式
Posted
技术标签:
【中文标题】GraphQL 拼接 VS 合并模式【英文标题】:GraphQL stitching VS merging schemas 【发布时间】:2021-10-30 05:12:02 【问题描述】:合并和拼接 GraphQL 模式之间的实际区别是什么?当涉及到每个实现的用例时,graphql-tools 文档(合并:https://www.graphql-tools.com/docs/schema-merging,拼接:https://www.graphql-tools.com/docs/schema-stitching/stitch-combining-schemas)有点模棱两可。如果我理解正确,拼接只是组织偏好的问题,每个子方案都成为您方案的“代理”,而合并功能似乎与我非常相似。你能解释一下区别吗?谢谢!
【问题讨论】:
【参考方案1】:当您想在同一个查询中从多个 GraphQL API 检索数据时,使用模式拼接(这基本上是 GraphQL 背后的动机)。 例如,您可能必须从两个 GraphQL API 中提取数据——一个为您提供有关位置的信息,另一个 GraphQL API 提供有关天气的信息。要执行同时访问两个端点的查询,您必须缝合两个端点的模式,这将允许您执行这样的查询(这也显示了两个端点之间的链接) :
event(id: "5983706debf3140039d1e8b4")
title
description
url
location
city
country
weather
summary
temperature
另一方面,模式合并是指收集所有基于域拆分的模式,主要用于组织目的。模式合并不会保留各个子模式。
【讨论】:
以上是关于GraphQL 拼接 VS 合并模式的主要内容,如果未能解决你的问题,请参考以下文章