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

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.

W tym artykule wykonasz następujące elementy:

  • 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
  • Testowanie interfejsu API graphQL

Jeśli chcesz uwidocznić istniejący punkt końcowy graphQL jako interfejs API, zobacz Importowanie interfejsu API GraphQL.

Wymagania wstępne

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

Przechodzenie do wystąpienia usługi API Management

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Usługi API Management.

    Select API Management services

  2. Na stronie Usługi API Management wybierz wystąpienie usługi API Management.

    Select your API Management instance

Dodawanie schematu GraphQL

  1. Z menu nawigacji bocznej w sekcji Interfejsy API wybierz pozycję Interfejsy API.

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

    Screenshot of selecting GraphQL icon from list of APIs.

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

    Screenshot of fields for creating a GraphQL API.

    Pole 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 pozycję Syntetyczny graphQL , aby zaimportować z pliku 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 program rozpoznawania nazw 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).
    Sufiks adresu URL interfejsu API Dodaj sufiks adresu URL, aby zidentyfikować ten konkretny interfejs API w tym wystąpieniu usługi API Management. Musi być unikatowa w tym wystąpieniu usługi API Management.
    Podstawowy adres URL Pole niezmienialne wyświetlające podstawowy adres URL interfejsu API
    Tagi Skojarz interfejs API graphQL z nowymi lub istniejącymi tagami.
    Produkty Skojarz interfejs API GraphQL z produktem, aby go opublikować.
    Czy chcesz utworzyć wersję tego interfejsu API? Wybierz, 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 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

      Screenshot of adding a GraphQL resolver in the portal.

  3. Na stronie Tworzenie narzędzia rozpoznawania nazw :

    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 zasad rozpoznawania nazw zaktualizuj <http-data-source> element za pomocą elementów podrzędnych dla 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>
    

    Screenshot of configuring resolver policy in the portal.

  5. Wybierz pozycję Utwórz.

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

Napiwek

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.

Testowanie interfejsu API graphQL

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

  2. Z menu nawigacji bocznej 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 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 przy użyciu ikony kosza.
  6. Jeśli produkt został dodany do interfejsu API graphQL, zastosuj zakres produktu w obszarze Zastosuj zakres produktu.

  7. W obszarze Edytor 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.

      Screenshot of adding fields to the query editor.

  8. W obszarze Zmienne zapytania dodaj zmienne, aby ponownie użyć tego samego zapytania lub mutacji i przekazać różne wartości.

  9. Wybierz Wyślij.

  10. Wyświetl odpowiedź.

    Screenshot of viewing the test query response.

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

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

Zabezpieczanie interfejsu API graphQL

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

Następne kroki