схемы слияния graphql из схем типа GraphQLObjectType

#node.js #graphql #apollo #graphql-tools

#node.js #graphql #apollo #graphql-инструменты

Вопрос:

Я новичок в graphql, поэтому столкнулся с некоторыми проблемами. Сервер, основанный на NodeJS с пакетом express. Я пишу свои схемы для Apollo Graphql в нотации GraphQLObjectType. Когда я хочу объединить две схемы в одну, я использую метод mergeSchemas из пакета npm graphql-tools и получил некоторые ошибки при слиянии. Кто-нибудь может указать мне, что я делаю неправильно?

 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,
});
  

каждое из изменений событий, пользовательских изменений является типом GraphQLObjectType

Ошибка заключается в:

 Invalid schema passed
  

в

 mergeSchemas({...
  

Есть идеи?

Ответ №1:

Проблема была в том, что я хотел объединить GraphQLObjectType, но на самом деле не GraphQLSchema. Итак, решение состояло в том, чтобы создать GraphQLSchema для пользователя и события, а затем идеально объединить их вместе.