GraphQL 查询访问参数对象值

Dra*_*aco 4 graphql apollo-client

我想在客户端创建一个参数对象,所以我不需要太多参数。

我想做这样的事情:

input Options {
    option1: String
    option2: String
}

query test($param: Options) {
    test(option1: $param.option1, option2: $param.option2) {
        id
    }
}
Run Code Online (Sandbox Code Playgroud)

不支持 $param.option1。有没有办法访问对象参数的属性?

Dan*_*den 5

您无法在客户端创建其他类型。此外,当前无法访问变量的各个属性,即使该变量是输入对象类型也是如此。

解决此问题的唯一方法是更新test服务器端的字段以接受作为输入对象类型的单个参数,而不是具有多个参数。

type Query {
  test(options: OptionsInput): SomeType
}

input OptionsInput {
  option1: String
  option2: String
}
Run Code Online (Sandbox Code Playgroud)