Wat is GraphQL?
GraphQL is an alternative way of talking to APIs that is highly suited for complex data structures and building interfaces on top of them. Unlike treating data as separate, standalone pieces, GraphQL shows how data pieces connect and relate to each other, making it easy to ask for and receive information.
Zie GraphQL als een querytaal waarmee u met de API praat alsof u direct met de database praat. U kiest precies welke data u wilt — met grote performancevoordelen.
GraphQL was created by Facebook to solve the problem of scaling with complex data structures. As a result of their successful adoption of it, more and more companies have started to realize the benefits of using GraphQL for their APIs.
Kent u REST al? GraphQL voelt vertrouwd.
GraphQL APIs are easier to work with than you may think. If you are used to working with REST APIs, here’s how core concepts from REST translate into GraphQL.
| Kenmerk↕ | REST↕ | GraphQL↕ |
|---|---|---|
| Eindpunt | Verzoeken gaan naar meerdere eindpunten voor verschillende acties | Alle verzoeken gaan naar één eindpunt (bijv. /graphql) |
| Data ophalen | Gebruik GET-methoden op specifieke eindpunten om data op te halen | Gebruik queries om precies de benodigde data op te vragen, minder over- of under-fetching |
| Data wijzigen/acties | Gebruik HTTP-methoden zoals POST, PUT, PATCH of DELETE. | Gebruik mutations voor operaties (bijv. parties aanmaken, landed costs berekenen) |
| Response format | Fixed response formats return all predefined fields, regardless of whether they’re needed | Flexibele responses: specificeer exact welke velden u wilt (gebruik anders onze voorbeeldqueries voor een REST-achtige ervaring) |
| Dataverbinding | Meerdere verzoeken zijn vaak nodig voor gerelateerde data | Geneste queries halen gerelateerde data in één verzoek op. Workflows met meerdere mutations in één GraphQL-verzoek verminderen complexiteit |
Voordelen van GraphQL
Snellere responses
GraphQL levert snellere responses via precieze data-opvraging, één eindpunt en betere batching en caching.
Precieze data-opvraging
Bij REST is over- of under-fetching gebruikelijk. GraphQL vraagt precies wat nodig is — niet meer, niet minder.
Voorbeelden:
- Frontend-ontwikkelaars halen exact de benodigde UI-data op, met minder round trips.
- Stel dat u een HS-codeclassificatie, cartonization, shipment rating en landed cost-quote wilt voor items in een checkout. Als u via de GraphQL API geïntegreerd bent, kunt u één call doen met de benodigde workflows om alles tegelijk te krijgen. Via REST moet u aparte calls doen naar de Classify REST API, Rating REST API en Landed Cost REST API.
Enkel eindpunt
GraphQL API's hebben doorgaans één eindpunt, in tegenstelling tot REST.
Batching en caching
Batching en caching verbeteren performance en verminderen belasting op netwerk en servers.
Goed gedefinieerde schema's
GraphQL API's gebruiken een sterk getypeerd schema dat structuur en operaties definieert.
Verbeteren zonder bestaande clients te breken
Nieuwe features in GraphQL verstoren bestaande integraties niet dankzij flexibele queries.
Actuele documentatie
Introspection genereert en actualiseert documentatie automatisch bij elke wijziging.
Bekijk onze GraphQL-documentatie en REST-documentatie.
Een analogie
Stel u een restaurant voor waar u gerechten precies bestelt zoals u wilt, versus vaste menu's. GraphQL is als het eerste restaurant:
- Precies wat u wilt: Met GraphQL vraagt u exact de benodigde data. Bij REST krijgt u vaak alles en negeert u wat u niet nodig hebt.
- Maatwerk: GraphQL combineert flexibel tot maatwerkworkflows. REST is als voorverpakte manden — u neemt wat er al is.
- Minder wachten: Eén verzoek voor alle benodigde informatie, in plaats van meerdere REST-calls.
- Eenvoudig aanpassen: Wijzig de query wanneer uw datbehoefte verandert; bij REST wacht u vaak op een nieuw eindpunt.
GraphQL biedt meer flexibiliteit, efficiëntie en eenvoud dan REST, vooral wanneer uw behoeften groeien.
Hoe Zonos GraphQL gebruikt
Zonos bouwt nieuwe functionaliteit met GraphQL omdat onze data complex en onderling verbonden is — vergelijkbaar met waarom Facebook GraphQL creëerde.
GraphQL laat implementaties precies kiezen welke data ze nodig hebben, zonder maatwerk per situatie.
GraphQL maakt onze API performanter, integratie sneller en nieuwe features sneller leverbaar.
Betere features
Nieuwe Zonos-features komen eerst (en meestal alleen) op GraphQL. REST API's zijn end-of-life.
Voorbeelden van GraphQL-only features:
- Inclusive pricing
- Labels API
- New Checkout and Hello
- Box sizes in API response
- Dashboard reporting
- DDP-offerte aanvragen indien mogelijk, anders DDU
- Gedetailleerde uitsplitsing van duties, taxes en fees op itemniveau — Dashboard toont dit; REST niet
- Test mode (binnenkort)
Waarom GraphQL
Ontdek waarom wij integratie via GraphQL boven REST aanbevelen.Bij Zonos bieden wij GraphQL en REST voor integratie. REST is langer bekend, maar wij zijn naar GraphQL gegaan voor meer flexibiliteit en snellere innovatie. Beide worden nog ondersteund; deze gids legt uit waarom GraphQL de toekomst is.