Udostępnij za pomocą


Wykonywanie zapytań dotyczących wielu źródeł danych w interfejsie API sieci szkieletowej dla języka GraphQL

W interfejsie API sieci szkieletowej dla języka GraphQL można uwidocznić wiele źródeł danych za pomocą jednego elementu interfejsu API. Ta funkcja umożliwia wystawienie pojedynczego zapytania, które pobiera dane z wielu źródeł danych.

Zapytanie obejmujące wiele danych to sekwencja zapytań wykonujących operacje na różnych źródłach danych.

Ta funkcja zwiększa wydajność aplikacji, zmniejszając liczbę rund między aplikacją a interfejsem API dla języka GraphQL.

Uwaga

Wieloźródło danych żąda od fanów poszczególnych żądań do źródeł danych. Nie można tworzyć relacji między typami obejmującymi wiele źródeł danych. Ponadto nie ma gwarancji na kolejność wykonywania poszczególnych żądań.

Przykład zapytania

W poniższym przykładzie przedstawiono zapytanie obejmujące zarówno źródła danych ContosoSales , jak i ContosoInventory :

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

To żądanie pobiera pierwszy węzeł z zapytania klientów pochodzącego ze źródła danych ContosoSales oraz pierwszy węzeł z zapytania spisu pochodzącego ze źródła danych ContosoInventory .

Dane wyjściowe żądania to:

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

Dane wyjściowe zawierają dwie części: pierwsza sekcja "dane" zawiera dane wyjściowe zapytania klientów , a druga sekcja "spisy" zawiera dane wyjściowe zapytania spisu .

W ten sposób widok zapytania wygląda podczas wykonywania tego żądania:

Zrzut ekranu edytora przedstawiający zapytanie obejmujące dwa źródła danych.