Похоже, что есть некоторые похожие вопросы, но ни один из них не совпадает с тем, где я получаю ошибку, и ни один из них не содержит аргументов undefined.
Я получил его для работы, чтобы иметь несколько других graphqlАпис и объединить их.Просто объединяйте их, все идет хорошо, но когда я пытаюсь сделать стежок, я получаю ошибку, показанную ниже:
"errors": [
{
"message": "Cannot read property 'args' of undefined",
"locations": [
{
"line": 9,
"column": 9
}
],
"path": [
"flows",
"edges",
0,
"node",
"sourceAddresses"
],
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"exception": {
"stacktrace": [
"TypeError: Cannot read property 'args' of undefined",
" at /opt/node_modules/graphql-tools/src/transforms/AddArgumentsAsVariables.ts:103:15",
" at Array.forEach (<anonymous>)",
" at /opt/node_modules/graphql-tools/src/transforms/AddArgumentsAsVariables.ts:95:39",
" at Array.map (<anonymous>)",
" at addVariablesToRootField (/opt/node_modules/graphql-tools/src/transforms/AddArgumentsAsVariables.ts:66:36)",
" at AddArgumentsAsVariablesTransform.transformRequest (/opt/node_modules/graphql-tools/src/transforms/AddArgumentsAsVariables.ts:31:11)",
" at /opt/node_modules/graphql-tools/src/transforms/transforms.ts:24:21",
" at Array.reduce (<anonymous>)",
" at Object.applyRequestTransforms (/opt/node_modules/graphql-tools/src/transforms/transforms.ts:21:21)",
" at /opt/node_modules/graphql-tools/src/stitching/delegateToSchema.ts:90:28"
]
}
}
}
]
У меня есть служба schemaRetriever, которая извлекает схемы из 3GraphQL Api's.Сейчас я пытаюсь заставить работать 1 стежок, чтобы код на данный момент не был «хорошим».
Вот фрагмент кода, в котором я пытаюсь запустить стежок:
const aSchema = await this.schemaRetrieverService.retrieveASchema();
const housesSchema = await this.schemaRetrieverService.retrieveHousesSchema();
const addressSchema = await this.schemaRetrieverService.retrieveAddressSchema();
return mergeSchemas({
schemas: [
aSchema,
housesSchema,
addressSchema,
`
extend type Houses {
houseAddresses: Addresses
}
extend type Addresses {
houses: Houses
}
type Query {
addressByHouseId(id: ID!): Addresses
}
`
],
resolvers: {
Houses: {
houseAddresses: {
fragment: `... on Houses { id }`,
resolve(house, args, context, info) {
return info.mergeInfo.delegateToSchema({
schema: addressSchema,
operation: 'query',
fieldName: 'addressByHouseId',
args: {
id: house.houseAddress,
},
context,
info,
});
},
},
},
},
});
Я проверил, что «house.houseAddress» содержит правильный требуемый идентификатор, и я продолжаю получать ту же ошибку, хотя я помещаю действительный идентификатор в переменную args.Я что-то здесь упускаю?или большой?Если бы кто-то мог дать мне указатель, я был бы очень благодарен.
Большое спасибо заранее, и если какая-либо информация отсутствует, пожалуйста, дайте мне знать, я постараюсь добавить всю необходимую информацию.