【问题标题】:GraphQL stitching VS merging schemasGraphQL 拼接 VS 合并模式
【发布时间】: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)有点模棱两可。如果我理解正确,拼接只是组织偏好的问题,每个子方案都成为您方案的“代理”,而合并功能似乎与我非常相似。你能解释一下区别吗?谢谢!

【问题讨论】:

    标签: graphql apollo-server graphql-tools


    【解决方案1】:

    当您想在同一个查询中从多个 GraphQL API 检索数据时,使用模式拼接(这基本上是 GraphQL 背后的动机)。 例如,您可能必须从两个 GraphQL API 中提取数据——一个为您提供有关位置的信息,另一个 GraphQL API 提供有关天气的信息。要执行同时访问两个端点的查询,您必须缝合两个端点的模式,这将允许您执行这样的查询(这也显示了两个端点之间的链接) :

    {
      event(id: "5983706debf3140039d1e8b4") {
        title
        description
        url
        location {
          city
          country
          weather {
            summary
            temperature
          }
        }
      }
    }
    

    另一方面,模式合并是指收集所有基于域拆分的模式,主要用于组织目的。模式合并不会保留各个子模式。

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 2018-12-27
      • 2020-09-07
      • 2019-03-01
      • 2018-11-08
      • 2019-11-07
      • 1970-01-01
      • 2021-02-05
      • 2019-08-02
      相关资源
      最近更新 更多