Importera ett GraphQL-API

GraphQL är ett frågespråk med öppen källkod och branschstandard för API:er. Till skillnad från slutpunktsbaserade API:er (eller REST-format) som utformats kring åtgärder över resurser stöder GraphQL-API:er en bredare uppsättning användningsfall och fokuserar på datatyper, scheman och frågor.

Med API Management för att exponera graphQL-API:er kan du:

  • Lägga till ett GraphQL-slutpunkt eller GraphQL-schema som ett API via Azure-portalen, Azure CLI eller andra Azure-verktyg.
  • (Förhandsversion) Utöka eller utforma ett GraphQL-API med hjälp av information från REST- eller SOAP-API:er, med http-matchare för fält som definierats i ett GraphQL-schema.
  • Skydda GraphQL-API:er genom att tillämpa både befintliga principer för åtkomstkontroll och en GraphQL-valideringsprincip för att skydda mot GraphQL-specifika attacker.
  • Utforska schemat och kör testfrågor mot GraphQL-API:erna i Azure- och utvecklarportalerna.

Anteckning

  • Ett enda GraphQL-API i API Management kan mappas till en enda GraphQL-serverdelsslutpunkt.
  • Ett GraphQL-API kräver ett GraphQL-schema, antingen från en befintlig GraphQL-slutpunkt eller laddas upp av dig.
  • API Management stöder åtgärdstyper för frågor, mutationer och prenumerationer i GraphQL-scheman.
  • Prenumerationer stöds inte på tjänstnivån Förbrukning.
  • En prenumeration måste implementeras med hjälp av WebSocket-protokollet graphql-ws. Frågor och mutationer stöds inte via WebSocket.

I den här artikeln ska du:

  • Läs mer om fördelarna med att använda GraphQL-API:er.
  • Lägg till ett GraphQL-API i din API Management-instans.
  • Testa GraphQL-API:et.
  • Lär dig begränsningarna för graphQL-API:et i API Management.

Om du vill importera ett GraphQL-schema och konfigurera fältlösare med REST- eller SOAP API-slutpunkter läser du Importera ett GraphQL-schema och konfigurerar fältlösare.

Förutsättningar

Lägga till ett GraphQL-API

  1. I Azure Portal navigerar du till din API Management-instans.

  2. I den vänstra menyn väljer du API:er>+ Lägg till API.

  3. Under Definiera ett nytt API väljer du GraphQL-ikonen .

    Skärmbild av att välja GraphQL-ikonen i listan över API:er.

  4. I dialogrutan väljer du Fullständig och slutför de obligatoriska formulärfälten.

    Skärmbild av fält för att skapa ett GraphQL-API.

    Fält Beskrivning
    Visningsnamn Namnet som graphQL-API:et ska visas med.
    Namn Raw-namnet på GraphQL-API:et. Fylls i automatiskt när du skriver visningsnamnet.
    GraphQL API-slutpunkt Bas-URL:en med graphQL API-slutpunktsnamnet.
    Exempel: https://example.com/your-GraphQL-name. Du kan också använda en vanlig "Star Wars" GraphQL-slutpunkt, https://swapi-graphql.azure-api.net/graphql till exempel en demo.
    Ladda upp schema Du kan också välja att bläddra och ladda upp schemafilen för att ersätta schemat som hämtats från GraphQL-slutpunkten (om det är tillgängligt).
    Beskrivning Lägg till en beskrivning av ditt API.
    URL-schema Välj HTTP, HTTPS eller Båda. Standardval: Båda.
    API URL-suffix Lägg till ett URL-suffix för att identifiera det här specifika API:et i den här API Management-instansen. Det måste vara unikt i den här API Management-instansen.
    Grundläggande URL Fält som inte kan identifieras som visar din API-bas-URL
    Taggar Associera GraphQL-API:et med nya eller befintliga taggar.
    Produkter Associera GraphQL-API:et med en produkt för att publicera det.
    Gateways Associera graphql-API:et med befintliga gatewayer. Standardval av gateway: Hanterad.
    Vilken är versionen för det här API:et? Välj om du vill använda ett versionsschema för GraphQL-API:et.
  5. Välj Skapa.

  6. När API:et har skapats bläddrar du i schemat på fliken Design i avsnittet Klientdel . Skärmbild av att utforska GraphQL-schemat i portalen.

Testa GraphQL-API:et

  1. Gå till din API Management-instans.

  2. Välj API:er under avsnittet API:er på sidonavigeringsmenyn.

  3. Under Alla API:er väljer du ditt GraphQL-API.

  4. Välj fliken Test för att komma åt testkonsolen.

  5. Under Rubriker:

    1. Välj rubriken i den nedrullningsbara menyn Namn .
    2. Ange värdet i fältet Värde .
    3. Lägg till fler rubriker genom att välja + Lägg till rubrik.
    4. Ta bort rubriker med hjälp av papperskorgsikonen.
  6. Om du har lagt till en produkt i GraphQL-API:et tillämpar du produktomfånget under Tillämpa produktomfång.

  7. Under Frågeredigeraren:

    1. Välj minst ett fält eller underfält i listan på sidomenyn. De fält och underfält som du väljer visas i frågeredigeraren.

    2. Börja skriva i frågeredigeraren för att skapa en fråga.

      Skärmbild av att lägga till fält i frågeredigeraren.

  8. Under Frågevariabler lägger du till variabler för att återanvända samma fråga eller mutation och skicka olika värden.

  9. Välj Skicka.

  10. Visa svaret.

    Skärmbild av att visa testfrågesvaret.

  11. Upprepa föregående steg för att testa olika nyttolaster.

  12. När testningen är klar avslutar du testkonsolen.

Anteckning

Du kan testa en prenumeration i testkonsolen:

  • Konfigurera en prenumerationsfråga i frågeredigeraren och välj sedan Anslut för att upprätta en WebSocket-anslutning till serverdelstjänsten.
  • Granska anslutningsinformationen i fönstret Prenumeration .
  • WebSocket-anslutningen upprätthålls tills du kopplar från den eller ansluter till en ny WebSocket-prenumeration.

Nästa steg