You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

graphql-compose中如何将resolver的InputType入参设为Schema必填项

解决方法

你可以直接使用 InputTypeComposer 实例内置的 .NonNull 属性实现需求,既保留原类型对象的IDE跳转能力,又能让生成的GraphQL Schema将该参数标记为必填项。

修改后的代码示例:

const createResolver = schemaComposer.createResolver({
  kind: 'mutation',
  name: 'SomeNameHere',
  type: SomeTypeNameTC,
  args: {
    // 直接调用ITC实例的.NonNull属性即可
    inputForm: InputFormITC.NonNull,
  },
  resolve: ({ args }) => {
    return createInputForm(args.inputForm);
  }
});

补充说明

.NonNull 是graphql-compose为所有类型实例(包括InputTypeComposer、ObjectTypeComposer、标量类型TC等)内置的Getter,返回的是经过NonNull包装的类型实例,和你手动写字符串 'InputFormInput!' 生成的Schema效果完全一致。
这种写法全程保留类型引用,IDE的类型跳转、自动补全、类型校验能力都不会受到影响。

内容的提问来源于stack exchange,提问作者joshft91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:45:07