Значения объекта параметра доступа к запросу GraphQL

#graphql #apollo-client

#graphql #apollo-client

Вопрос:

Я хотел бы создать объект параметров на стороне клиента, поэтому мне не нужно слишком много параметров.

Я хочу сделать что-то вроде этого:

 input Options {
    option1: String
    option2: String
}

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

$param.option1 не поддерживается. Есть ли какой-либо способ получить доступ к атрибутам параметра объекта?

Ответ №1:

Вы не можете создавать дополнительные типы на стороне клиента. Кроме того, в настоящее время нет способа получить доступ к отдельным свойствам переменной, даже если эта переменная является типом входного объекта.

Единственный способ решить эту проблему — обновить test поле на стороне сервера, чтобы оно принимало один аргумент, который является типом объекта ввода, вместо того, чтобы иметь несколько аргументов.

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

input OptionsInput {
  option1: String
  option2: String
}
  

Комментарии:

1. Большое вам спасибо! Я боялся этого ответа: D