Мой запрос GraphQL выглядит так:
{
p1: property(someArgs: "some_value") {
id
nestedField {
id
moreNestedField {
id
}
}
}
}
На стороне сервера я использую Apollo Server. У меня есть распознаватель для property
и другие распознаватели для nestedField
и moreNestedField
. Мне нужно получить значение someArgs
для моих вложенных распознавателей. Я попытался сделать это, используя context
, доступный для распознавателя:
property: (_, {someArgs}, ctx) => {
ctx.someArgs = someArgs;
// Do something
}
Но это не сработает, так как контекст является общим для всех распознавателей, поэтому, если у меня несколько property
в моем запросе значение контекста не будет хорошим.
Я также пытался использовать path
, доступный в info
, для моих вложенных распознавателей. Я могу go до поля property
, но у меня нет аргументов здесь ...
Я также пытался добавить некоторые данные в info
, но они не были использованы во вложенных resolvers.
Добавление аргументов для всех распознавателей не вариант, так как это сделает запрос очень раздутым и громоздким, я не хочу этого.
Есть мысли?
Спасибо!