Technology

GraphQL, het Zwitsers mes in API land?

Blog: GraphQL

In juni was het weer tijd voor interessante en leerzame Discovery Days. Zes onderwerpen werden deze keer tot op de bodem uitgezocht. Ze leverden niet allemaal het gewenste resultaat op, maar dat was misschien wel extra leerzaam. Het onderzoeken en uitproberen bezorgt ons altijd waardevolle informatie. Piet en Karel beten zich vast in GraphQL, een open source query language voor API’s. “We hadden hoge verwachtingen van een tool die is ontwikkeld door Facebook en onder andere wordt gebruikt door Netflix.”

“Ons eerste idee was dat we GraphQL konden gebruiken om eenvoudig query’s te schrijven, te gebruiken als zoekfunctie”, vertelt Karel. “We maakten een testproject en koppelden dat aan CheQpoint, onze oplossing voor de dienstenchequesector. In CheQpoint zitten veel zoekvelden om informatie over werknemers en huishoudhulpen op te vragen. Via GraphQL zouden we dan makkelijk een dynamische query kunnen maken waarmee er gezocht kan worden op naam, voornaam, telefoonnummer,..

Daarnaast komen de data van de loonbrieven uit onze nieuwe loonmotor Earnie. Met GraphQL heb je één tool die alle andere endpoints samenbindt. Dus je hebt één manier van data ophalen. En iedereen die een API gebruikt, kan de tool inzetten. Dat zou voor ons als gebruikers het zoeken naar specifieke data over bv. een medewerker makkelijker moeten maken.”

Requests configureren

Eén van de voordelen van GraphQL is dat je een request kunt configureren, zodat je alleen de gewenste data als respons krijgt. Bijvoorbeeld dat je via je mobiele applicaties alleen de naam en het telefoonnummer van een medewerker te zien krijgt en via je desktop alle andere details. Data kan je via HotChocolate NuGet op meerdere manieren ophalen. Bij Prato kozen we voor de REST implementatie en spreken zo onze eigen API aan via GraphQL. “Dat was best ingewikkeld”, vertelt Piet. “Het leggen van verbindingen tussen query’s en REST calls naar onze REST API was ook vrij complex. We dachten dat we voortaan makkelijker informatie zouden kunnen opzoeken door query’s te schrijven, maar de praktijk was anders.”

Niet voor ons

Al bij al waren er iets meer nadelen dan voordelen. Naast het voordeel van de configuratie, waardoor je kan kiezen minder data te versturen, zijn ook de snelheid waarmee de API is op te zetten en het groeperen van calls mooi meegenomen. Maar die voordelen wegen niet op tegen de nadelen. Althans niet voor de manier waarop wij de tool willen gebruiken: door via één API call alle data op te halen. Karel: “De conclusie is dat de tool ons minder werk bespaart dan gehoopt. Toch is het goed dat we nu kennis over GraphQL hebben. Voor sommige toepassingen kan het nuttig zijn en kan onze kennis dus nog wel eens van pas komen.”

Benieuwd naar de andere topics waarmee onze Pratorians al geëxperimenteerd hebben tijdens deze of vorige Discovery Days? Ontdek het hier. Een keer mee meeluisteren naar onze bevindingen en direct vragen stellen aan Pratorians? Word dan snel lid van de Meetup-groep en kom zo te weten wanneer de volgende Discovery Day zal doorgaan!

Deze website maakt gebruik van cookies om je gebruikservaring te optimaliseren. Door op “Accepteren” te klikken, ga je akkoord met het plaatsen van deze cookies.