我们在项目中使用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
}
答案 0 :(得分:1)
Null关键字是GraphQL规范的一个相对较新的补充,而您正在使用的graphql-java版本尚未实现。事实上,即使3.0.0仍然没有它。即将发布的4.0将支持null关键字
它被视为枚举的原因是因为未加引号的字符串通常是枚举,null
是唯一的例外。这也在this issue中解释。
答案 1 :(得分:0)
在您的架构中,键入'需要参数?
如果没有,那么就省略它!在您的后端,当您检索type
的值时,它将为空