Apollo: передача root в резолвер с помощью info.mergeInfo.delegateToSchema


person Le garcon    schedule 05.03.2019    source источник


Ответы (1)


Под капотом info.mergeInfo.delegateToSchema можно вызывать удаленное приложение GraphQL (подробнее ).

Таким образом, по дизайну удаленный преобразователь не имеет доступа к локальному корневому каталогу / context / info / arg, вам необходимо отправить все необходимые данные в аргументах для удаленного поля. Например:

const mergedSchema = mergeSchemas({
  schemas: [
    transformedChirpSchema,
    authorSchema,
    linkTypeDefs,
  ],
  resolvers: {
    User: {
      chirps: {
        fragment: `... on User { id }`,
        resolve(user, args, context, info) {
          return info.mergeInfo.delegateToSchema({
            schema: chirpSchema,
            operation: 'query',
            fieldName: 'chirpsByAuthorId',
            args: {
              // author is InputType at remove schema with similar user structure
              author: user,
            },
            context,
            info,
          });
        },
      },
    },
});

Я не знаю вашего случая, но не забываю о schema- преобразуется при работе со схемами удаления.

person galkin    schedule 08.03.2019