Для решения этой проблемы есть два основных варианта:
Вариант 1 (предпочтительно): добавить новую мутацию в схему GraphQL, которая обрабатывает GraphQLList
этих входных объектов. То, как вы это сделаете, изменится в зависимости от того, какой сервер GraphQL вы используете (в PostGraphile вы бы использовали пользовательскую мутацию или расширение схемы ); но язык определения схемы может выглядеть так:
input CreateManyPeopleInput {
people: [CreatePersonInput!]!
}
type CreateManyPeoplePayload {
createdPeople: [Person!]
}
extend type Mutation {
createManyPeople(input: CreateManyPeopleInput): CreateManyPeoplePayload
}
Вариант 2: включить «пакетирование запросов» . Для этого вам понадобится и сервер, и клиент, поддерживающий пакетирование запросов GraphQL. По сути, это позволяет отправлять несколько запросов GraphQL за один запрос и получать все ответы за один ответ. Это не требует каких-либо изменений в вашей схеме GraphQL, но оно не будет таким эффективным, и типичные реализации позволяют группировать только ~ 10 запросов в один запрос, поэтому ваши 50 запросов могут по-прежнему требовать 5 запросов.