Django

Django & GraphQL

GraphQL met Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, authenticatie, DataLoader, N+1-probleem

24 gespreksvragen·
Senior
1

Wat is GraphQL en wat is het belangrijkste verschil met REST?

Antwoord

GraphQL is een querytaal voor API's, ontwikkeld door Facebook. Anders dan REST, dat meerdere endpoints met vaste datastructuren beschikbaar stelt, gebruikt GraphQL een enkel endpoint waarmee de client precies de benodigde data kan opgeven. Dit lost de problemen van over-fetching (te veel data ontvangen) en under-fetching (meerdere verzoeken moeten doen) op die veel voorkomen bij REST.

2

Wat zijn de twee belangrijkste GraphQL-bibliotheken die beschikbaar zijn voor Django?

Antwoord

Strawberry en Graphene-Django zijn de twee belangrijkste GraphQL-bibliotheken voor Django. Graphene-Django is volwassener en breed toegepast en gebruikt een klassegebaseerde syntaxis. Strawberry is moderner, gebruikt native Python-type-hints en biedt betere integratie met typing-tools. Strawberry wordt aanbevolen voor nieuwe projecten vanwege de meer pythonische syntaxis en native async-ondersteuning.

3

Hoe definieer je een eenvoudig GraphQL-type met Strawberry om een Django User-model te representeren?

Antwoord

Met Strawberry wordt de decorator @strawberry.type op een dataclass-klasse gebruikt om een GraphQL-type te definiëren. Velden worden gedeclareerd met standaard Python-type-hints (str, int, enz.). Deze aanpak benut het native typesysteem van Python, maakt code leesbaarder en zorgt voor betere integratie met IDE's en type-checking-tools zoals mypy.

4

Wat is een resolver in GraphQL en wat is zijn rol?

5

Wat is het verschil tussen een Query en een Mutation in GraphQL?

+21 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis