GraphQL常见做法,特别是通过HTTP,有一个query
参数,一个可选的operationName
和一个提供variables
的可选JSON对象。
我见过的variables
参数的所有示例都是简单的JSON对象:
{
"var1": "value1",
"var2": 2
}
每个键都有一个简单的JSON类型值,例如数字或字符串。
GraphQL变量值可以比这更广泛,有更深层次的数组和对象混合吗?
{
"var1": "value1",
"var2": {
"name": "My Name",
"numbers": [1, 5, 11, 10]
}
}
答案 0 :(得分:2)
但是,您肯定希望我确保您的架构中有匹配的输入类型。所以要接受一个像var2
那样的结构的输入,你需要这样的东西:
input VarInput {
name: String
numbers: [Int]
}
然后,对于查询/变异的类型定义......
type Query {
foo (var1: String, var2: VarInput): Foo
}
然后你的解析器可以像任何其他参数一样获取var2
。