Draco
Draco

Reputation: 63

GraphQL query access parameter object values

I would like to create a parameter object on the client side, so I dont need too many parameters.

I want to do something like this:

input Options {
    option1: String
    option2: String
}

query test($param: Options) {
    test(option1: $param.option1, option2: $param.option2) {
        id
    }
}

$param.option1 is not supported. Is there any way to access attributes of an object parameter?

Upvotes: 4

Views: 2455

Answers (1)

Daniel Rearden
Daniel Rearden

Reputation: 84657

You cannot create additional types on the client side. Additionally, there is currently no way to access individual properties on a variable, even when that variable is an input object type.

The only way to solve this issue is to update the test field on the server side to accept a single argument that's an input object type, instead of having multiple arguments.

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

input OptionsInput {
  option1: String
  option2: String
}

Upvotes: 5

Related Questions