给graphlql查询的给定变量返回未定义(对象Object)

时间:2019-07-19 07:44:11

标签: typescript graphql

我尝试使用输入变量执行一个简单的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"
  }
}

1 个答案:

答案 0 :(得分:1)

传递给解析器的第二个参数是一个对象,代表要解析的字段的参数。只要实际提供该对象,该对象中的每个属性都将映射到一个参数-因此没有参数的字段将只接收一个空对象。

因此,您的解析器应该看起来像这样:

helloName: (_, args) => `Hello ${args.name}`