如何传递参数以解析 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
      },
    },
  }),
});

现在可以使用了。