【发布时间】:2019-03-01 10:21:56
【问题描述】:
我正在使用 Apollo 提供的 GraphQL 工具/库。
是否可以将远程 GraphQL 架构合并到嵌套结构中?
假设我有n 远程模式,我想将来自不同模式的Query、Mutation 和Subscription 合并到一个模式中,除了每个远程模式都放在自己的@987654325 下@。
假设我们有一个名为MenuX 的远程模式:
type Item {
id: Int!
description: String
cost: Int
}
type Query {
items: [Item]
}
还有一个名为 MenuY 的远程架构:
type Item {
id: Int!
name: String
cost: Int
}
type Query {
items: [Item]
}
我想将架构合并为一个架构,但在它们自己的类型下。一个人为的例子:
type MenuXItem {
id: Int!
description: String
cost: Int
}
type MenuYItem {
id: Int!
name: String
cost: Int
}
type MenuXQuery {
items: [MenuXItem]
}
type MenuYQuery {
items: [MenuYItem]
}
type Query {
MenuX: MenuXItem
MenuY: MenuYItem
}
我们可以看到,在Query 类型下,它包含两个新类型,其中包含来自远程模式的查询类型。来自架构MenuX 的Item 已通过使用来自graphql-tools 的转换器重命名,同样来自架构MenuY 的Item 也已被转换。
但是结构也可以转换吗?
对于实际的远程模式,我们正在查看每个模式的数百种类型,理想情况下,我不想污染 GraphiQL 中的根类型和自省文档。
【问题讨论】:
标签: node.js graphql apollo-server