1

Graphqlサーバーへのリクエスト数を減らしたい。 次のような配列にオブジェクトがあります

 [{name: "gokhan", age: 20}, ...];

配列のすべての項目を追加するには、graphql ミューテーションを使用します。

配列に 50 個のアイテムがある場合、すべてのデータを追加するには50 個のリクエストを送信する必要があります。リクエストの数を減らす方法はありますか?

4

1 に答える 1

1

これを解決するには、主に 2 つのオプションがあります。

GraphQLListオプション 1 (推奨):これらの入力オブジェクトを処理する新しいミューテーションを GraphQL スキーマに追加します。これを行う方法は、使用している GraphQL サーバーによって異なります (PostGraphile では、カスタム ミューテーションまたはスキーマ拡張を使用します)。しかし、スキーマ定義言語は次のようになります。

input CreateManyPeopleInput {
  people: [CreatePersonInput!]!
}

type CreateManyPeoplePayload {
  createdPeople: [Person!]
}

extend type Mutation {
  createManyPeople(input: CreateManyPeopleInput): CreateManyPeoplePayload
}

オプション 2: 「クエリのバッチ処理」を有効にします。これを使用するには、GraphQL Query Batching をサポートするサーバーとクライアントの両方が必要です。基本的に、1 つのリクエストで複数の GraphQL クエリを送信し、1 つのレスポンスですべてのレスポンスを取得できます。これには GraphQL スキーマを変更する必要はありませんが、それほど効率的ではなく、典型的な実装では 1 つのリクエストに最大 10 個のクエリしかバッチ処理できないため、50 個の作成には 5 個のリクエストが必要になる場合があります。

于 2018-09-03T08:02:55.950 に答える