如何在graphql中将null设置为field?

时间:2017-07-28 13:45:16

标签: graphql graphql-java

我们在项目中使用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
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

在您的架构中,键入'需要参数?

如果没有,那么就省略它!在您的后端,当您检索type的值时,它将为空