GraphQL变异变量
我正在尝试使用GraphQL和GraphiQL接口进行一个简单的变异。我的基因突变如下:GraphQL变异变量,graphql,graphql-js,Graphql,Graphql Js,我正在尝试使用GraphQL和GraphiQL接口进行一个简单的变异。我的基因突变如下: mutation M($name: String) { addGroup(name:$name) { id, name } } 使用变量: { "name": "ben" } 但它给了我一个错误:变量$name,类型为“String”,用于预期类型为“String!”的位置。 如果我将我的变异更改为mutation M($name:String=“default”)它将按预期
mutation M($name: String) {
addGroup(name:$name) {
id,
name
}
}
使用变量:
{
"name": "ben"
}
但它给了我一个错误:变量$name,类型为“String”,用于预期类型为“String!”的位置。
如果我将我的变异更改为
mutation M($name:String=“default”)
它将按预期工作。这似乎与类型系统有关,但我似乎无法找出问题所在。我认为在您addGroup()
中,name的args属于字符串类型
这是新的GraphQlnNull(GraphQlnNull)(GraphQlnNull),但在您的变体中,您指定为与类型系统冲突的字符串。您可能将输入名称定义为非空字符串(类似于类型:新的GraphQlnNull(GraphQlnNull)
,如果使用js server,或者在普通GraphQL中定义为字符串!
)
因此,您在变异中的输入必须匹配,这意味着它也必须是非空字符串。如果您更改为以下内容,它应该可以工作:
mutation M($name: String!) {
addGroup(name:$name) {
id,
name
}
}
另外,如果您像以前一样定义了默认值,那么它将是一个非空字符串
最后,您可以放弃服务器中非空的要求。难以置信的代码>是问题所在。。。唉,这是有道理的!