#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