Udostępnij za pośrednictwem


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ń, które używają operacji względem różnych źródeł danych.

Ta funkcja może zwiększyć 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 co do kolejności, w ramach których będą wykonywane poszczególne żądania.

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, które pochodzi ze źródła danych ContosoSales, oraz pierwszy węzeł z zapytania spisu, które pochodzi 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 to dwie części: pierwsza sekcja "dane" zawiera dane wyjściowe zapytania klientów . Druga sekcja "spisy" zawiera dane wyjściowe zapytania spisu .

Tak wygląda widok zapytania podczas wykonywania tego żądania:

Zrzut ekranu edytora przedstawiający przykład zapytania obejmującego dwa źródła danych.