次の方法で共有


GraphQL 用 Fabric API で複数のデータ ソースに対してクエリを実行する

GraphQL 用 Fabric API では、1 つの API 項目を使用して多くのデータ ソースを公開できます。 この機能を使用すると、複数のデータ ソース間でデータを取得する 1 つのクエリを発行できます。

マルチデータ ソース クエリは、さまざまなデータ ソースに対して操作を実行する一連のクエリです。

この機能により、アプリケーションと GraphQL 用 API の間のラウンド トリップの数を減らすことで、アプリケーションのパフォーマンスが向上します。

Note

マルチデータ ソース要求は、データ ソースへの個々の要求を展開します。 複数のデータ ソースにまたがる型間でリレーションシップを作成することはできません。 さらに、個々の要求が実行される順序に対する保証はありません。

クエリの例

次の例は、 ContosoSales データ ソースと ContosoInventory データ ソースの両方にまたがるクエリを示しています。

query {
  customers (first: 1) {
    items {
      FirstName
      LastName
    }
  }
  inventories (first: 1) {
    items {
      Name
    }
  }
}

この要求は、ContosoSales データ ソースから派生した顧客クエリから最初のノードを取得し、ContosoInventory データ ソースから派生したインベントリ クエリから最初のノードを取得します。

要求に対する出力は次のとおりです。

{
  "data": {
    "customers": {
      "items": [
        {
          "FirstName": "Orlando",
          "LastName": "Gee"
        }
      ]
    },
    "inventories": {
      "items": [
        {
          "Name": "AWC Logo Cap"
        }
      ]
    }
  }
}

出力には 2 つの部分があります。最初のセクション "data" には 顧客 クエリの出力が含まれており、2 番目のセクション "インベントリ" には インベントリ クエリの出力が含まれます。

この要求を実行すると、クエリ ビューがどのように表示されるかを次に示します。

2 つのデータ ソースにまたがるクエリを示すエディター画面のスクリーンショット。