我目前正在将使用graphql-js
定义的模式迁移到使用typedef和resolver的可执行模式。我想迭代地迁移我的代码库,并将它们缝合在一起。因此,在我开始做整个架构之前,让某些部分仍然使用graphql-js
,而某些部分使用gql
typedef。
当我尝试重用我的typedef中的现有类型时,我遇到了一个问题。
例如,我的typedef可能是:
type Query {
customers: [User]
}
但是User
类型的定义存在于我的graphql-js
模式中。因此,即使在缝合模式之后,它也会说Error: Type "User" not found in document
。
这是否有可能,或者我是否必须一次迁移所有相关的东西?
示例:
// The original schema is created using graphql-js
const oldSchema = new GraphQLSchema({query: ..., mutation: ...});
// The parts I'm slowly migrating to use graphql-tools
const newSchema = makeExecutableSchema({ typeDefs: ..., resolvers: ...});
// Then putting them together
const mergedSchema = mergeSchemas({schemas: [oldSchema, newSchema]})
答案 0 :(得分:1)
我不确定这是否适用于您的“旧模式”,但是在我的项目中,我按照以下方式合并了它们……
PUT /admin/realms/{realm}/users/{id}