
Django & GraphQL
GraphQL met Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, authenticatie, DataLoader, N+1-probleem
1Wat is GraphQL en wat is het belangrijkste verschil met REST?
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.
2Wat zijn de twee belangrijkste GraphQL-bibliotheken die beschikbaar zijn voor Django?
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.
3Hoe definieer je een eenvoudig GraphQL-type met Strawberry om een Django User-model te representeren?
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.
Wat is een resolver in GraphQL en wat is zijn rol?
Wat is het verschil tussen een Query en een Mutation in GraphQL?
+21 gespreksvragen
Andere Django-sollicitatieonderwerpen
Python-basis
Objectgeoriënteerd Python
Django-grondbeginselen
Django Models - Basis
Django Views
Django-templates
Django-formulieren
Geavanceerde QuerySets
Django-authenticatie
Django-middleware
Django Admin
Django REST Framework
Django-signalen
Bestandsupload
Django Caching
Django-sessies
Django E-mail
Django Testen
Django-beveiliging
Django-deployment
Geavanceerde Django ORM
Django-prestaties
Django & Celery
Django Channels
Django & Docker
Django in een microservices-ecosysteem
Aangepaste Django-commando's
Django-internationalisatie
Django Design Patterns
Django Async & ASGI
Settings & Productieconfiguratie
Observability & monitoring
Beheers Django voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis