如何传递参数以解析 GraphQL 对象中的函数?
How to pass arguments to resolve function in a GraphQL Object?
我在 Javascript 中使用 GraphQL,我希望能够将参数传递给 GraphQLObjectType
字段中的 resolve()
函数。
这里是 GraphQLObjectType
声明:
export const ModelSchema = new GraphQLObjectType({
name: 'Model',
description: 'Model information',
fields: () => ({
tags: {
type: TagList,
description: 'Model\'s UUID',
async resolve(obj, args) {
console.log('args', args); // expecting to see an object
},
},
}),
});
下面是我想在 GraphQLI 中查询的方式:
{
getModels(UUIDs:"0AAAA2EFF6677194ED227EE4AAAA8D4A") {
total
models {
tags (limit: 1) {
tags {
UUID
name
}
}
}
}
}
所以我希望能够将参数(在本例中为 limit
)发送到 tags
以便在调用 resolve()
函数时,我可以使用此参数并限制结果,或者做其他事情。
我该怎么做?
谢谢
好的,知道了...需要像这样添加 args
:
export const ModelSchema = new GraphQLObjectType({
name: 'Model',
description: 'Model information',
args: {
limit: {
type: GraphQLInt,
},
},
fields: () => ({
tags: {
type: TagList,
description: 'Model\'s UUID',
async resolve(obj, args) {
console.log('args', args); // expecting to see an object
},
},
}),
});
现在可以使用了。
我在 Javascript 中使用 GraphQL,我希望能够将参数传递给 GraphQLObjectType
字段中的 resolve()
函数。
这里是 GraphQLObjectType
声明:
export const ModelSchema = new GraphQLObjectType({
name: 'Model',
description: 'Model information',
fields: () => ({
tags: {
type: TagList,
description: 'Model\'s UUID',
async resolve(obj, args) {
console.log('args', args); // expecting to see an object
},
},
}),
});
下面是我想在 GraphQLI 中查询的方式:
{
getModels(UUIDs:"0AAAA2EFF6677194ED227EE4AAAA8D4A") {
total
models {
tags (limit: 1) {
tags {
UUID
name
}
}
}
}
}
所以我希望能够将参数(在本例中为 limit
)发送到 tags
以便在调用 resolve()
函数时,我可以使用此参数并限制结果,或者做其他事情。
我该怎么做?
谢谢
好的,知道了...需要像这样添加 args
:
export const ModelSchema = new GraphQLObjectType({
name: 'Model',
description: 'Model information',
args: {
limit: {
type: GraphQLInt,
},
},
fields: () => ({
tags: {
type: TagList,
description: 'Model\'s UUID',
async resolve(obj, args) {
console.log('args', args); // expecting to see an object
},
},
}),
});
现在可以使用了。