Как запросить список объектов с массивом в качестве аргумента в GraphQL
Я пытаюсь запросить список объектов с массивом идентификаторов. Что-то похожее на следующий SQL-запрос:
SELECT name FROM events WHERE id IN(1,2,3,...);
Как достичь этого в GraphQL?
Ответы
Ответ 1
Вы можете запросить массив значений! Вот как выглядит сам запрос:
{
events(containsId: [1,2,3]) {
...
}
}
И тип будет выглядеть примерно так:
const eventsType = new GraphQLObjectType({
name: 'events',
type: // your type definition for events,
args: {
containsId: new GraphQLList(GraphQLID)
},
...
});
Если вы хотите параметризовать этот запрос, вот пример этого:
{
query: '
query events ($containsId: [Int]) {
events(containsId: $containsId) {
id
name
}
}
',
variables: {
containsId: [1,2,3]
}
}
Ответ 2
Может кто-нибудь ответить на вопрос @Khorkrak. Я сталкиваюсь с той же проблемой.
Ответ 3
запрос getResults ($ id: Long, $ createBy: [Long], $ start: Int, $ limit: Int) { Результаты( где: {id: {EQ: $ id}, создалBy: {IN: $ создалBy}} страница: {start: $ start, limit: $ limit} ) {
Переменная запроса {
"предел": 25,
"начало": 1,
"id": 1775,
"CreatedBy": [0458]
}
ошибка
"message": "Переменная" createBy "имеет недопустимое значение. Ожидаемый тип" Long ", но был" Object [] '. ",
Кто-нибудь сталкивался с этой проблемой?