Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 371
Draco Avatar asked Sep 09 '25 14:09

Draco


1 Answers

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
}
like image 112
Daniel Rearden Avatar answered Sep 12 '25 03:09

Daniel Rearden