Sdílet prostřednictvím


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.

Poznámka:

V současné době tato funkce není dostupná v pracovních prostorech.

V tomto článku:

  • Naimportujte schéma GraphQL do instance služby Azure API Management.
  • Nastavte překladač pro dotaz GraphQL pomocí existujícího koncového bodu HTTP.
  • Otestujte rozhraní GraphQL API.

Pokud chcete zveřejnit existující koncový bod GraphQL jako rozhraní API, viz Import 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 portálu Azure vyhledejte a vyberte služby API Management:

    Snímek obrazovky zobrazící služby API Management ve výsledcích hledání

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

    snímek obrazovky znázorňující instanci služby API Management na stránce služeb API Management

Přidání schématu GraphQL

  1. V levém podokně v části Rozhraní API vyberte rozhraní API.

  2. V části Definovat nové rozhraní API vyberte dlaždici GraphQL .

    Snímek obrazovky s výběrem dlaždice GraphQL

  3. V dialogovém okně vyberte Úplné a zadejte hodnoty do požadovaných polí, jak je popsáno v následující tabulce.

    Snímek obrazovky stránky Vytvořit ze schématu GraphQL

    Hodnota Popis
    Zobrazené jméno 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 Synthetic GraphQL k importu 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 Vyberte schéma založené na koncovém 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 je HTTP(S).
    Přípona adresy URL rozhraní API Přidejte příponu adresy URL pro identifikaci konkrétního rozhraní API v instanci služby API Management. V instanci správy API musí být jedinečné.
    Základní adresa URL Neupravitelný textový pole zobrazující základní URL adresu vaší API.
    Značky Volitelně přidružte rozhraní GraphQL API k novým nebo existujícím značkám.
    Produkty Přidružte rozhraní GraphQL API k produktu a publikujte ho.
    Chcete vytvořit verzi tohoto rozhraní API? Zaškrtněte políčko, pokud chcete pro rozhraní GraphQL API použít schéma správy verzí.
  4. Vyberte Vytvořit.

  5. Po vytvoření rozhraní API zkontrolujte nebo upravte schéma na kartě Schéma .

Nakonfigurujte resolver

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

Předpokládejme, že jste naimportovali následující základní schéma GraphQL a chcete nastavit resolver pro dotaz users.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. V levém podokně v části Rozhraní API vyberte rozhraní API.

  2. Vyberte rozhraní GraphQL API.

  3. Na kartě Schéma zkontrolujte schéma pole v typu objektu, ve kterém chcete nakonfigurovat resolver.

    1. Vyberte pole a najeďte myší na levý okraj.

    2. Vyberte Přidat překladač.

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

  4. V panelu Vytvořit resolver:

    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.
  5. V editoru zásad Resolveru aktualizujte prvek s pomocí podřízených elementů pro váš scénář. Například následující resolver načte users pole 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 konfigurace resolveru a politiky na portálu

  6. Vyberte Vytvořit.

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

Návod

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

Testování rozhraní GraphQL API

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

  2. V levém podokně 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 nabídce Název vyberte záhlaví.
    2. Do pole Hodnota zadejte hodnotu.
    3. Další záhlaví přidáte tak, že vyberete Přidat záhlaví.
    4. Odstraňte záhlaví tlačítkem koše.
  6. Pokud jste do rozhraní GraphQL API přidali produkt, přidejte do použití oboru produktu obor produktu.

  7. V editoru dotazů udělejte jednu z těchto věcí:

    1. V nabídce vlevo od editoru 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 editorem 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 odpovědí na testovací dotaz

  11. Zopakujte předchozí kroky a otestujte různé datové balíčky.

  12. Jakmile dokončíte testování, opusťte 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.