graphql-compose:需要输入类型的参数

graphql-compose: require argument that's an input type

下面是我正在编写的解析器示例,它使用 graphql-compose 来帮助构建我们的架构。

const createResolver = schemaComposer.createResolver({
  kind: 'mutation',
  name: 'SomeNameHere',
  type: SomeTypeNameTC,
  args: {
    inputForm: InputFormITC,
  },
  resolve: ({ args }) => {
    return createInputForm(args.inputForm);
  }
});

我的问题是关于解析器的 args 部分。我如何要求架构中需要 inputForm 参数?例如,如果我要声明要传入的 ID,我可以通过添加感叹号在架构中要求 ID。

但是,如果我向 ITC 对象添加一个 (!),我相信这只是告诉 JS 需要该参数而不是 GraphQL 模式。

args: {
  id: 'ID!'
  inputForm: InputFormITC!
}

我通过类似 inputForm: 'InputFormInput!' 的方式解决了这个问题,但我更希望有实际的对象,以便更容易在我们的 IDE 中跳来跳去。这样的事情在 graphql-compose 中可能吗?

graphql-compose InputTypeComposer 显示输入类型的“NonNull”getter。要要求输入类型参数是必需的,语法如下所示:

args: {
  inputForm: InputFormITC.NonNull
}

查看架构时,输入类型现在会显示一个感叹号 (!),表明它是必需的参数。