Naar de inhoud

GraphQL

Met GraphQL vragen applicaties velden op via een getypeerd API-schema. De server blijft verantwoordelijk voor gegevenstoegang en rechten.

API's en datacontracten

De benodigde velden uit een API selecteren

GraphQL is een querytaal voor API’s met regels voor uitvoering op de server. Een getypeerd schema bepaalt welke gegevens en bewerkingen beschikbaar zijn. De applicatie selecteert daaruit de benodigde velden. GraphQL vereist geen bepaalde database.

Een fictief softwarebedrijf plant een klantenportaal. De selectie { project(id: "P-42") { name } } vraagt de naam van een project op als het eigen schema deze velden en dit argument aanbiedt. Dit verzonnen voorbeeld is geen query die naar een bestaande dienst is gestuurd. De serverimplementatie moet de gegevens ophalen en bepalen of de aanvrager ze mag zien. Een aanroep die aan het schema voldoet verleent op zichzelf geen toegangsrechten; het interne veld internalRate moet voor klanten afgesloten blijven, ook wanneer zij er uitdrukkelijk om vragen.

Het portaal moet daarom zowel de aangeboden velden als hun toegangsregels vastleggen. Veldselectie helpt weergaven met verschillende gegevensbehoeften; daadwerkelijke responstijden en databasewerk moeten in de implementatie worden onderzocht.

Bronnen