Udostępnij za pomocą


Dodawanie syntetycznego interfejsu API języka GraphQL i konfigurowanie narzędzi rozpoznawania pól

DOTYCZY: Wszystkie warstwy usługi API Management

W usłudze API Management możesz dodać interfejs API GraphQL w jednym z dwóch modeli: przekazywanie do istniejącego punktu końcowego języka GraphQL lub zaimportować schemat GraphQL i utworzyć syntetyczny interfejs API GraphQL z niestandardowymi narzędziami rozpoznawania pól. Aby uzyskać więcej informacji, zobacz Omówienie języka GraphQL.

Uwaga

Obecnie ta funkcja nie jest dostępna w obszarach roboczych.

W tym artykule dowiesz się:

  • Zaimportuj schemat GraphQL do instancji usługi Azure API Management.
  • Skonfiguruj narzędzie rozpoznawania dla zapytania GraphQL przy użyciu istniejącego punktu końcowego HTTP.
  • Przetestuj API GraphQL.

Jeśli chcesz uwidocznić istniejący punkt końcowy GraphQL jako interfejs API, zapoznaj się z Importowanie interfejsu API GraphQL.

Wymagania wstępne

  • Istniejąca instancja usługi API Management. Utwórz go, jeśli jeszcze tego nie zrobiono.
  • Prawidłowy plik schematu GraphQL z .graphql rozszerzeniem .
  • Punkt końcowy GraphQL na zapleczu jest opcjonalny w tym scenariuszu.

Przejdź do instancji usługi API Management

  1. W portalu Azure wyszukaj i wybierz usługi API Management.

    Zrzut ekranu przedstawiający usługi API Management w wynikach wyszukiwania.

  2. Na stronie zarządzania usługami API wybierz instancję API Management:

    Zrzut ekranu przedstawiający instancję zarządzania API na stronie usług zarządzania API.

Dodawanie schematu GraphQL

  1. W okienku po lewej stronie w obszarze Interfejsy API wybierz pozycję Interfejsy API.

  2. W obszarze Definiowanie nowego interfejsu API wybierz kafelek GraphQL .

    Zrzut ekranu przedstawiający wybieranie kafelka GraphQL.

  3. W oknie dialogowym wybierz pozycję Pełna, a następnie wprowadź wartości w wymaganych polach zgodnie z opisem w poniższej tabeli.

    Zrzut ekranu przedstawiający stronę Tworzenie na podstawie schematu GraphQL.

    Wartość Opis
    Nazwa wyświetlana Nazwa, za pomocą której zostanie wyświetlony interfejs API GraphQL.
    Nazwa/nazwisko Nieprzetworzona nazwa interfejsu API GraphQL. Automatycznie wypełniana podczas wpisywania nazwy wyświetlanej.
    Typ GraphQL Wybierz Synthetic GraphQL, aby zaimportować plik schematu GraphQL.
    Rezerwowy punkt końcowy GraphQL Opcjonalnie wprowadź adres URL z nazwą punktu końcowego interfejsu API GraphQL. Usługa API Management przekazuje zapytania GraphQL do tego punktu końcowego, gdy niestandardowy resolver nie jest ustawiony dla pola.
    Opis Dodaj opis interfejsu API.
    Schemat adresu URL Wybierz schemat oparty na punkcie końcowym GraphQL. Wybierz jedną z opcji obejmujących schemat protokołu WebSocket (WS lub WSS), jeśli interfejs API GraphQL zawiera typ subskrypcji. Domyślnym wyborem jest HTTP(S)..
    Końcówka adresu URL API Dodaj sufiks adresu URL, aby zidentyfikować określony interfejs API w wystąpieniu usługi API Management. Musi być unikatowa w instancji API Management.
    Podstawowy adres URL Pole niezmienialne wyświetlające podstawowy adres URL interfejsu API.
    tagi Opcjonalnie skojarz interfejs API graphQL z nowymi lub istniejącymi tagami.
    Produkty Skojarz interfejs API GraphQL z produktem, aby go opublikować.
    Utwórz wersję tego interfejsu API? Zaznacz pole wyboru, aby zastosować schemat przechowywania wersji do interfejsu API GraphQL.
  4. Wybierz pozycję Utwórz.

  5. Po utworzeniu interfejsu API przejrzyj lub zmodyfikuj schemat na karcie Schemat .

Konfigurowanie narzędzia rozpoznawania nazw

Skonfiguruj narzędzie rozpoznawania w celu mapowania pola w schemacie na istniejący punkt końcowy HTTP. W tym miejscu przedstawiono ogólne kroki. Aby uzyskać szczegółowe informacje, zobacz Configure a GraphQL resolver (Konfigurowanie narzędzia rozpoznawania języka GraphQL).

Załóżmy, że zaimportowano następujący podstawowy schemat GraphQL i chcesz skonfigurować resolver dla zapytania users.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. W okienku po lewej stronie w obszarze Interfejsy API wybierz pozycję Interfejsy API.

  2. Wybierz interfejs API GraphQL.

  3. Na karcie Schemat przejrzyj schemat pola w typie obiektu, w którym chcesz skonfigurować program rozpoznawania nazw.

    1. Wybierz pole, a następnie umieść wskaźnik na lewym marginesie.

    2. Wybierz pozycję Dodaj program rozpoznawania nazw.

      Zrzut ekranu przedstawiający dodawanie narzędzia rozpoznawania języka GraphQL w portalu.

  4. W oknie Tworzenie rozwiązywacza:

    1. Zaktualizuj właściwość Nazwa, jeśli chcesz, opcjonalnie wprowadź opis i potwierdź lub zaktualizuj opcje Typ i Pole.
    2. W źródle danych wybierz pozycję Interfejs API HTTP.
  5. W edytorze polityki Resolvra zaktualizuj element <http-data-source> dodając elementy podrzędne do danego scenariusza. Na przykład, poniższy resolver pobiera pole users, wykonując wywołanie do istniejącego źródła danych HTTP GET.

        <http-data-source>
            <http-request>
                <set-method>GET</set-method>
                <set-url>https://myapi.contoso.com/users</set-url>
            </http-request>
        </http-data-source>
    

    Zrzut ekranu przedstawiający konfigurowanie reguły resolvera w portalu.

  6. Wybierz pozycję Utwórz.

  7. Aby rozpoznać dane dla innego pola w schemacie, powtórz powyższe kroki, aby utworzyć inny program rozpoznawania.

Wskazówka

Podczas edytowania zasad rozpoznawania nazw wybierz pozycję Uruchom test , aby sprawdzić dane wyjściowe ze źródła danych, które można zweryfikować względem schematu. Jeśli wystąpią błędy, odpowiedź zawiera informacje dotyczące rozwiązywania problemów.

Przetestuj swoją GraphQL API

  1. Przejdź do wystąpienia usługi API Management.

  2. W okienku po lewej stronie w sekcji Interfejsy API wybierz pozycję Interfejsy API.

  3. W obszarze Wszystkie interfejsy API wybierz interfejs API GraphQL.

  4. Wybierz kartę Test, aby uzyskać dostęp do konsoli testowej.

  5. W obszarze Nagłówki:

    1. Wybierz nagłówek z menu Nazwa .
    2. Wprowadź wartość w polu Wartość .
    3. Dodaj więcej nagłówków, wybierając pozycję Dodaj nagłówek.
    4. Usuń nagłówki, korzystając z przycisku do kosza.
  6. Jeśli dodano produkt do interfejsu API graphQL, dodaj zakres produktu w obszarze Zastosuj zakres produktu.

  7. W edytorze zapytań wykonaj jedną z następujących czynności:

    1. Wybierz co najmniej jedno pole lub pole podrzędne z listy w menu po lewej stronie edytora. Wybrane pola i pola podrzędne są wyświetlane w edytorze zapytań.

    2. Zacznij wpisywać w edytorze zapytań, aby utworzyć zapytanie.

      Zrzut ekranu przedstawiający edytor zapytań.

  8. W sekcji Zmienne zapytania dodaj zmienne, aby używać tego samego zapytania lub mutacji i przekazywać różne wartości.

  9. Wybierz Wyślij.

  10. Wyświetl odpowiedź.

    Zrzut ekranu przedstawiający odpowiedź na zapytanie testowe.

  11. Powtórz powyższe kroki, aby przetestować różne ładunki.

  12. Po zakończeniu testowania zamknij konsolę testową.

Zabezpiecz swój interfejs API GraphQL

Zabezpiecz interfejs API graphQL, stosując zarówno istniejące zasady uwierzytelniania, jak i autoryzacji oraz zasady weryfikacji graphQL w celu ochrony przed atakami specyficznymi dla języka GraphQL.