来自 GraphQLObjectType 模式的 graphql mergeSchemas

Posted

技术标签:

【中文标题】来自 GraphQLObjectType 模式的 graphql mergeSchemas【英文标题】:graphql mergeSchemas from GraphQLObjectType schemas 【发布时间】:2019-08-19 11:48:52 【问题描述】:

我是 graphql 的新手,所以我遇到了一些问题。 基于 nodeJS 的服务器,带有 express 包。我正在用 GraphQLObjectType 表示法为 Apollo Graphql 编写模式。 当我想将两个模式合并为一个时,我使用 graphql-tools npm 包中的 mergeSchemas 方法,并在合并时遇到了一些错误。谁能指出我做错了什么?

const  mergeSchemas  = require('graphql-tools');
const  GraphQLSchema  = require('graphql');

const queryType = require('./queryType');
const eventMutations = require('./eventMutations');
const userMutations = require('./userMutations');

const mutationType = mergeSchemas(
  schemas: [eventMutations, userMutations],
);

module.exports = new GraphQLSchema(
  query: queryType,
  mutation: mutationType,
);

每一个eventMutations,userMutations都是GraphQLObjectType

错误是:

Invalid schema passed

mergeSchemas(...

有什么想法吗?

【问题讨论】:

【参考方案1】:

问题是我想合并 GraphQLObjectType 但不是真正的 GraphQLSchema。 因此解决方案是为用户和事件创建 GraphQLSchema,然后将它们完美地合并在一起。

【讨论】:

以上是关于来自 GraphQLObjectType 模式的 graphql mergeSchemas的主要内容,如果未能解决你的问题,请参考以下文章

错误:无法使用来自另一个模块或领域的 GraphQLObjectType“__Directive”

如何将 GraphQLObjectType 与 graphql-tag 和 gql-tag 创建的模式结合起来?

如何为 GraphQLObjectType 的 GraphQLList 定义 Relay 片段?

订阅的 GraphQLObjectType

GraphQL buildSchema 与 GraphQLObjectType

为啥自定义子查询类型不能分配给 GraphQLObjectType?