Delen via


GraphQL in Azure voor JavaScript-ontwikkelaars

GraphQL helpt uw JavaScript-toepassingen exact de gegevens op te halen die ze nodig hebben met één aanvraag. In dit artikel wordt uitgelegd wat GraphQL is, waarom u deze kunt gebruiken en hoe Azure-services u kunnen helpen Bij het bouwen van GraphQL-toepassingen met minimale inspanning. Of u nu een bestaande GraphQL-toepassing migreert of een nieuwe maakt, Azure biedt hulpprogramma's en services om het proces te vereenvoudigen.

Wat is GraphQL?

GraphQL is een moderne manier om uw webtoepassing te laten communiceren met servers en databases. U kunt het beschouwen als een slimmere manier om precies de informatie op te vragen die u nodig hebt:

  • Het is net als het bestellen van een aangepaste maaltijd in plaats van een vast menu te accepteren - u vraagt precies wat u wilt
  • Het werkt goed met JavaScript-toepassingen zoals React, Vue of Angular
  • Het kan uw web-apps sneller en eenvoudiger maken om te bouwen

In plaats van meerdere aanvragen te verzenden naar verschillende servereindpunten (zoals bij traditionele REST API's, de standaard manier waarop de meeste webservices communiceren), kunt u met GraphQL één nauwkeurige aanvraag indienen om alle gegevens op te halen die u nodig hebt.

Waarom zou ik GraphQL in mijn web-app willen gebruiken?

GraphQL maakt uw JavaScript-toepassingen op drie manieren beter:

  • Precies krijgen wat u nodig hebt: uw app kan nu alleen vragen om de gegevens die deze nodig heeft, niet meer, niet minder. Dit is alsof je naar een buffet gaat en alleen neemt wat je eet, in plaats van een gigantische vaste maaltijd te krijgen waar het meeste verspild wordt. Hierdoor wordt uw app sneller omdat er minder gegevens worden gedownload.

  • Eén aanvraag in plaats van veel: Hebt u informatie nodig van meerdere locaties? In plaats van vijf verschillende aanvragen te maken voor vijf verschillende eindpunten, kunt u met GraphQL slechts één aanvraag indienen om alles te verkrijgen. Dit is alsof één persoon al uw boodschappen verzamelt in plaats van dat u naar vijf verschillende winkels gaat.

  • Minder fouten met betere hulpprogramma's: GraphQL wordt geleverd met hulpprogramma's waarmee u fouten kunt ondervangen terwijl u codeert in plaats van wanneer uw app wordt uitgevoerd. Het is alsof u spellingcontrole hebt die werkt terwijl u typt, in plaats van typfouten te detecteren nadat u het document hebt gepubliceerd.

Wanneer u bouwt met GraphQL en JavaScript, gebruikt u waarschijnlijk een van deze populaire hulpprogramma's:

  • Apollo-client: de meest gebruikte GraphQL-client die werkt met React, Vue, Angular en gewone JavaScript.
  • URQL: Een lichtgewicht alternatief met goede prestaties.
  • Relay: Gemaakt door Facebook (die ook GraphQL heeft gemaakt), het beste voor grote React-toepassingen.

Azure-services voor GraphQL-toepassingen

Kies uw benadering op basis van uw specifieke scenario:

Als u dit wilt... Dan moet u... Deze Azure-services gebruiken
Een bestaande GraphQL-app naar Azure brengen Uw toepassing implementeren zonder uw code te wijzigen Azure App Service of Azure Container Apps
GraphQL toevoegen aan uw bestaande gegevens GraphQL-eindpunten voor uw gegevens maken met minimale codering Opbouwfunctie voor gegevens-API's
Een GraphQL API-laag bouwen Een geïntegreerde GraphQL-interface maken via bestaande API's Azure API Management met GraphQL-transformatie

GraphQL-toepassingen hosten in Azure

U hebt een aantal goede opties, afhankelijk van het type toepassing dat u bouwt:

  • App Service: dit is net als een traditionele webhostingservice, maar met extra functies. Het is ideaal voor de meeste JavaScript-toepassingen die een server nodig hebben.

  • Container Apps: Als uw toepassing is verpakt in containers (zoals Docker), maakt deze service het uitvoeren en schalen ervan eenvoudig.

Gegevensopslag voor GraphQL-toepassingen

GraphQL moet verbinding maken met uw gegevens. Azure biedt verschillende manieren om dit te doen:

  • Uw database omzetten in een GraphQL-API: het hulpprogramma 'Data API builder' kan automatisch een GraphQL-eindpunt maken (een URL waar uw app GraphQL-aanvragen kan verzenden) vanuit uw bestaande database, zonder dat u hoeft te coderen.

  • Uw gegevens opslaan: Azure biedt databases voor verschillende behoeften:

    • SQL Database: Voor traditionele tabelgegevens
    • Cosmos DB: Voor flexibele, schaalbare gegevensopslag zonder starre schema's

Secure GraphQL-toepassingen

  • Gebruikersaanmelding en -beveiliging: met het Identiteitsplatform van Azure kunt u aanmeldingsfuncties toevoegen aan uw toepassing, zodat alleen de juiste personen toegang hebben tot uw GraphQL-gegevens.
  • Op rollen gebaseerde toegang: bepaal precies welke gebruikers kunnen opvragen of wijzigen welke gegevens via uw GraphQL-eindpunten worden gebruikt.
  • API-beveiliging: voeg snelheidsbeperking en bewaking toe om misbruik van uw GraphQL-API's te voorkomen.

GraphQL-API's maken voor uw bestaande gegevens

Hebt u al gegevens in Azure en wilt u deze openen met GraphQL? U kunt dit op eenvoudige manieren doen:

  • API Management: deze service kan een GraphQL-laag maken voor uw bestaande API's of gegevensbronnen. Het is vergelijkbaar met het toevoegen van een GraphQL-vertaler aan systemen die GraphQL niet systeemeigen spreken.

  • Data API Builder: Met dit hulpprogramma worden automatisch GraphQL-eindpunten van uw databases gemaakt. Het is de snelste manier om GraphQL toe te voegen aan uw bestaande gegevens – wijs gewoon naar uw database en de rest gebeurt automatisch voor u.

Een eenvoudig voorbeeld: Een GraphQL-API maken voor een productdatabase

Dit proces werkt als volgt:

  1. U hebt een database met productgegevens (namen, prijzen, beschrijvingen)
  2. U stelt Data API Builder in om verbinding te maken met uw database
  3. Data API Builder maakt automatisch een GraphQL-eindpunt
  4. Uw JavaScript-toepassing kan nu GraphQL-query's maken zoals:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Met deze query krijgt u alle producten onder $50, waarbij alleen hun namen, prijzen en beschrijvingen worden weergegeven.

Bronnen om u te helpen aan de slag te gaan

Als u meer wilt weten of wilt beginnen met het bouwen met GraphQL in Azure, kunt u hier enkele nuttige resources gebruiken:

Volgende stappen