如何在 graphql 中将 null 设置为字段?

How to set null to field in graphql?

我们在项目中使用graphql,使用graphql-java 2.3.0(我们计划更新,但目前无法更新)。

我正在尝试执行这样的突变:

  mutation {
    UPDATE_User(

      id:3,
      type: null
    ) {id}
  }

回复:

{
  "errors": [
    {
      "validationErrorType": "WrongType",
      "message": "Validation error of type WrongType: argument value EnumValue{name='null'} has wrong type",
      "locations": [
        {
          "line": 5,
          "column": 7
        }
      ],
      "errorType": "ValidationError"
    }
  ],
  "data": null
}

Null 关键字是 GraphQL 规范中相对较新的补充,您使用的 graphql-java 版本尚未实现。事实上,即使是 3.0.0 也仍然没有。即将发布的 4.0 将支持 null 关键字。
它被视为枚举的原因是因为不带引号的字符串通常是枚举,null 是唯一的例外。这在 this issue.

中也有解释

在您的架构中,是否需要 'type' 参数?

如果没有就忽略它!在您的后端,当您检索 type 的值时,它将为 null