当我有这样的查询时:
{
"query": "mutation { createInventory(name: $name, schema: $schema) }",
"variables": {
"name": "i1",
"schema": "s"
}
}我得到了一个错误:变量'$name‘没有定义。
我检查了那些变量是否正确地从JSON中提取,它们是。当然,在执行查询时,我尝试显式地传入name变量:
Executor.execute(
GraphQLSchema.schema,
query,
ctx,
variables = InputUnmarshaller.mapVars(Map("name" -> "foo"))
)为什么桑格里亚不承认这些变量?我给他们取名字有什么问题吗?
发布于 2017-10-03 17:55:05
您缺少了GraphQL查询本身的“变量定义”部分。这是查询的一部分,它指示它希望传入的变量类型。
因此,如果我已经猜到了变量的正确类型,这应该是可行的:
{
"query": "mutation myMutation($name: String, $schema: String) { createInventory(name: $name, schema: $schema) }",
"variables": {
"name": "i1",
"schema": "s"
}
}阅读我的文章GraphQL查询的剖析中的更多内容。
https://stackoverflow.com/questions/46550376
复制相似问题