Я пытаюсь сгруппировать свои мутации по типам второго уровня. Схема анализируется правильно, но распознаватели не работают в Apollo. Это вообще возможно? Вот запрос, который мне нужен:
mutation {
pets: {
echo (txt:"test")
}
}
Вот как я пытаюсь это сделать
Схема:
type PetsMutations {
echo(txt: String): String
}
type Mutation {
"Mutations related to pets"
pets: PetsMutations
}
schema {
mutation: Mutation
}
Резольверы:
...
return {
Mutation: {
pets : {
echo(root, args, context) {
return args.txt;
}
},
}


Предполагая, что вы используете apollo-server или graphql-tools, вы не можете так вложить резолверы в свою карту резолвера. Каждое свойство в карте преобразователя должно соответствовать типу в вашей схеме и само по себе быть картой имен полей для функций преобразователя. Попробуйте что-то вроде этого:
{
Mutation: {
// must return an object, if you return null the other resolvers won't fire
pets: () => ({}),
},
PetsMutations: {
echo: (obj, args, ctx) => args.txt,
},
}
Примечание: ваш запрос недействителен. Поскольку поле echo является скаляром, у вас не может быть для него подвыборки полей. Вам нужно убрать пустые скобки.
Спасибо! Обновлен запрос в вопросе, чтобы он был действительным.