Udostępnij za pośrednictwem


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ę:

  • Importowanie schematu GraphQL do wystąpienia usługi API Management
  • Konfigurowanie narzędzia rozpoznawania dla zapytania GraphQL przy użyciu istniejącego punktu końcowego HTTP
  • Przetestuj swoją GraphQL API

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. Z menu nawigacji bocznej, w sekcji APIs, wybierz APIs.

  2. W obszarze Definiowanie nowego interfejsu API wybierz ikonę GraphQL .

    Zrzut ekranu przedstawiający wybieranie ikony GraphQL z listy interfejsów API.

  3. W oknie dialogowym wybierz pozycję Pełne i wypełnij wymagane pola formularza.

    Zrzut ekranu przedstawiający pola służące do tworzenia interfejsu API GraphQL.

    (No changes needed) 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 Dokonaj wyboru na podstawie punktu końcowego GraphQL. Wybierz jedną z opcji obejmujących schemat protokołu WebSocket (WS lub WSS), jeśli interfejs API GraphQL zawiera typ subskrypcji. Wybór domyślny: HTTP(S).
    Końcówka adresu URL API Dodaj sufiks adresu URL, aby zidentyfikować ten konkretny interfejs API w tym wystąpieniu usługi API Management. Musi być unikatowa w tej instancji API Management.
    Podstawowy adres URL Pole niezmienialne wyświetlające podstawowy adres URL interfejsu API
    tagi Skojarz API GraphQL z nowymi lub istniejącymi tagami.
    Produkty Skojarz interfejs API GraphQL z produktem, aby go opublikować.
    Utwórz wersję tego interfejsu API? Wybierz, aby zastosować schemat wersjonowania do interfejsu API GraphQL.
  4. Wybierz pozycję Utwórz.

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

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ć narzędzie rozpoznawania dla zapytania użytkowników .

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. W menu nawigacji bocznej w sekcji Interfejsy API wybierz pozycję Interfejsy API interfejsu> API języka GraphQL.

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

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

    2. Wybierz pozycję + Dodaj rozpoznawanie

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

  3. Na stronie Kreator Resolvera:

    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.
  4. W edytorze polityki Resolvra zaktualizuj element <http-data-source> dodając elementy podrzędne do danego scenariusza. Na przykład poniższy program rozpoznawania pobiera pole użytkowników , wykonując GET wywołanie istniejącego źródła danych HTTP.

        <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 zasad rozpoznawania nazw w portalu.

  5. Wybierz pozycję Utwórz.

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

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 instancji usługi zarządzania API.

  2. Z menu nawigacji bocznej, w sekcji APIs, wybierz APIs.

  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 rozwijanego Nazwa .
    2. Wprowadź wartość w polu Wartość .
    3. Dodaj więcej nagłówków, wybierając pozycję + Dodaj nagłówek.
    4. Usuń nagłówki, używając ikony kosza.
  6. Jeśli dodałeś produkt do interfejsu API GraphQL, zastosuj zakres produktów w sekcji Apply product scope.

  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 bocznym. 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 dodawanie pól do edytora 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 wyświetlanie odpowiedzi 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.