GraphQL中的get
查询出现“标量中不允许变量”的错误,通常是因为在标量字段中使用了变量,而GraphQL不允许在标量字段中直接使用变量。
GraphQL不允许在标量字段中直接使用变量。例如,以下查询会引发该错误:
query GetUser($id: ID!) {
user(id: $id) {
name
age
isActive # 这里使用了变量,但isActive是标量字段
}
}
假设我们有一个用户查询,其中包含一个布尔类型的字段isActive
,我们可以使用输入类型来解决这个问题。
# 定义输入类型
input UserInput {
id: ID!
isActive: Boolean
}
# 查询
query GetUser($input: UserInput!) {
user(input: $input) {
name
age
isActive
}
}
然后在客户端传递变量时:
{
"input": {
"id": "123",
"isActive": true
}
}
这种错误常见于需要动态设置标量字段值的场景,例如根据用户输入来过滤数据。
通过以上方法,可以有效解决“标量中不允许变量”的错误。
领取专属 10元无门槛券
手把手带您无忧上云