我尝试使用输入变量执行一个简单的graphql查询(Hello World)。我提供了一个输入,但将其识别为未定义或[object Object]。
我已经尝试过不同版本的Code,但是我是TypeScript和Graphql的新手,所以没有任何效果。我也尝试过toString。
graphql模式:
type Query{
helloName(name:String): String
}
解析器:
Query: {
helloName: (_:any, name:string) => `Hello ${name}`
}
graphql查询:
query helloName($name: String){
helloName(name:$name)
}
查询变量:
{"name":"Max"}
实际结果:
{
"data": {
"helloName": "Hello[object Object]"
}
}
预期结果:
{
"data": {
"helloName": "Hello Max"
}
}
答案 0 :(得分:1)
传递给解析器的第二个参数是一个对象,代表要解析的字段的参数。只要实际提供该对象,该对象中的每个属性都将映射到一个参数-因此没有参数的字段将只接收一个空对象。
因此,您的解析器应该看起来像这样:
helloName: (_, args) => `Hello ${args.name}`