Přidání syntetického rozhraní GraphQL API a nastavení překladačů polí

PLATÍ PRO: Všechny úrovně služby API Management

Ve službě API Management můžete přidat rozhraní GraphQL API v jednom ze dvou modelů: předávat do existujícího koncového bodu GraphQL nebo importovat schéma GraphQL a vytvořit syntetické rozhraní GraphQL API s vlastními překladači polí. Další informace najdete v přehledu GraphQL.

V tomto článku:

  • Import schématu GraphQL do instance služby API Management
  • Nastavení překladače pro dotaz GraphQL pomocí existujícího koncového bodu HTTP
  • Testování rozhraní GraphQL API

Pokud chcete zveřejnit existující koncový bod GraphQL jako rozhraní API, přečtěte si téma Import rozhraní GraphQL API.

Požadavky

  • Existující instance služby API Management. Vytvořte ho, pokud jste to ještě neudělali.
  • Platný soubor schématu GraphQL s příponou .graphql .
  • Koncový bod back-endu GraphQL je pro tento scénář volitelný.

Přejít k instanci služby API Management

  1. Na webu Azure Portal vyhledejte a vyberte služby API Management.

    Výběr služeb API Management

  2. Na stránce služby API Management vyberte instanci služby API Management.

    Výběr instance služby API Management

Přidání schématu GraphQL

  1. V boční navigační nabídce v části Rozhraní API vyberte rozhraní API.

  2. V části Definovat nové rozhraní API vyberte ikonu GraphQL .

    Snímek obrazovky s výběrem ikony GraphQL ze seznamu rozhraní API

  3. V dialogovém okně vyberte Úplné a vyplňte požadovaná pole formuláře.

    Snímek obrazovky s poli pro vytvoření rozhraní GraphQL API

    Pole Description
    Zobrazovaný název Zobrazí se název rozhraní GraphQL API.
    Název Nezpracovaný název rozhraní GraphQL API Při zadávání zobrazovaného názvu se automaticky vyplní.
    Typ GraphQL Vyberte syntetická knihovna GraphQL , která se má importovat ze souboru schématu GraphQL.
    Záložní koncový bod GraphQL Volitelně zadejte adresu URL s názvem koncového bodu rozhraní GraphQL API. Služba API Management předává do tohoto koncového bodu dotazy GraphQL, pokud pro pole není nastavený vlastní překladač.
    Popis Přidejte popis rozhraní API.
    Schéma URL Proveďte výběr na základě koncového bodu GraphQL. Vyberte jednu z možností, které zahrnují schéma WebSocket (WS nebo WSS), pokud vaše rozhraní GraphQL API obsahuje typ předplatného. Výchozí výběr: HTTP(S)
    Přípona adresy URL rozhraní API Přidejte příponu ADRESY URL pro identifikaci tohoto konkrétního rozhraní API v této instanci služby API Management. Musí být jedinečný v této instanci služby API Management.
    Základní adresa URL Needitable field display your API base URL
    Značky Přidružte rozhraní GraphQL API k novým nebo existujícím značek.
    Produkty Přidružte rozhraní GraphQL API k produktu a publikujte ho.
    Chcete toto rozhraní API ve verzi? Vyberte, pokud chcete pro rozhraní GraphQL API použít schéma správy verzí.
  4. Vyberte Vytvořit.

  5. Po vytvoření rozhraní API vyhledejte nebo upravte schéma na kartě Návrh .

Konfigurace překladače

Nakonfigurujte překladač pro mapování pole ve schématu na existující koncový bod HTTP. Tady najdete základní kroky. Podrobnosti najdete v tématu Konfigurace překladače GraphQL.

Předpokládejme, že jste naimportovali následující základní schéma GraphQL a chtěli jste pro dotaz uživatelů nastavit překladač.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. V boční navigační nabídce v části Rozhraní API vyberte rozhraní> API pro rozhraní GraphQL API.

  2. Na kartě Schéma zkontrolujte schéma pole v typu objektu, ve kterém chcete nakonfigurovat překladač.

    1. Vyberte pole a potom na levém okraji najeďte myší.

    2. Select + Add Resolver

      Snímek obrazovky s přidáním překladače GraphQL na portálu

  3. Na stránce Vytvořit překladač:

    1. Pokud chcete, aktualizujte vlastnost Název, volitelně zadejte popis a potvrďte nebo aktualizujte výběry typu a pole.
    2. Ve zdroji dat vyberte rozhraní HTTP API.
  4. V editoru zásad Resolver aktualizujte <http-data-source> prvek podřízenými elementy pro váš scénář. Například následující překladač načte pole uživatelů voláním GET existujícího zdroje dat 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>
    

    Snímek obrazovky s konfigurací zásad překladače na portálu

  5. Vyberte Vytvořit.

  6. Pokud chcete přeložit data pro jiné pole ve schématu, opakujte předchozí kroky a vytvořte překladač.

Tip

Při úpravě zásad překladače vyberte Spustit test a zkontrolujte výstup ze zdroje dat, který můžete ověřit ve schématu. Pokud dojde k chybám, odpověď obsahuje informace o řešení potíží.

Testování rozhraní GraphQL API

  1. Přejděte do vaší instance služby API Management.

  2. V boční navigační nabídce v části Rozhraní API vyberte rozhraní API.

  3. V části Všechna rozhraní API vyberte rozhraní GraphQL API.

  4. Vyberte kartu Test pro přístup k testovací konzole.

  5. V části Hlavičky:

    1. V rozevírací nabídce Název vyberte záhlaví.
    2. Zadejte hodnotu do pole Hodnota .
    3. Další záhlaví přidáte tak , že vyberete + Přidat záhlaví.
    4. Odstraňte záhlaví pomocí ikony koše.
  6. Pokud jste do rozhraní GraphQL API přidali produkt, použijte obor produktu v části Použít rozsah produktu.

  7. V editoru dotazů:

    1. V boční nabídce vyberte alespoň jedno pole nebo dílčí pole ze seznamu. Pole a dílčí pole, která vyberete, se zobrazí v editoru dotazů.

    2. Začněte psát v editoru dotazů a vytvořte dotaz.

      Snímek obrazovky s přidáním polí do editoru dotazů

  8. V části Proměnné dotazu přidejte proměnné pro opakované použití stejného dotazu nebo mutaci a předání různých hodnot.

  9. Vyberte Odeslat.

  10. Zobrazte odpověď.

    Snímek obrazovky s zobrazením odpovědi testu dotazu

  11. Opakováním předchozích kroků otestujte různé datové části.

  12. Po dokončení testování ukončete testovací konzolu.

Zabezpečení rozhraní GraphQL API

Zabezpečení rozhraní GraphQL API pomocí stávajících zásad ověřování a autorizace a zásad ověřování GraphQL pro ochranu před útoky specifickými pro GraphQL.

Další kroky