Я использую инструменты / библиотеки GraphQL, предлагаемые Apollo.
Возможно ли объединить удаленную схему GraphQL во вложенную структуру?
Предположим, у меня есть n
удаленные схемы, и я хотел бы объединить Query
, Mutation
и Subscription
из разных схем в одну схему, за исключением того, что каждая удаленная схема размещается под собственной type
.
Предположим, у нас есть удаленная схема с именем 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
он содержит два новых типа, которые содержат тип запроса из удаленных схем.Item
из схемы MenuX
были переименованы с использованием преобразователей из graphql-tools
, аналогично Item
из схемы MenuY
также было преобразовано.
Но возможно ли также преобразовать структуру?
В реальных удаленных схемах мы рассматриваем сотни типов из каждой схемы, и в идеале я бы не хотел загрязнятькорневые типы и документация Introspection в GraphiQL.