
Django & GraphQL
GraphQL mit Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, Authentifizierung, DataLoader, N+1-Problem
1Was ist GraphQL und was ist sein wesentlicher Unterschied zu REST?
Was ist GraphQL und was ist sein wesentlicher Unterschied zu REST?
Antwort
GraphQL ist eine von Facebook entwickelte Abfragesprache für APIs. Anders als REST, das mehrere Endpoints mit festen Datenstrukturen bereitstellt, verwendet GraphQL einen einzigen Endpoint, der es dem Client ermöglicht, genau die benötigten Daten anzugeben. Dies löst die bei REST üblichen Probleme des Over-Fetching (zu viele Daten empfangen) und Under-Fetching (mehrere Anfragen stellen müssen).
2Was sind die beiden wichtigsten GraphQL-Bibliotheken, die für Django verfügbar sind?
Was sind die beiden wichtigsten GraphQL-Bibliotheken, die für Django verfügbar sind?
Antwort
Strawberry und Graphene-Django sind die beiden wichtigsten GraphQL-Bibliotheken für Django. Graphene-Django ist ausgereifter und weit verbreitet und verwendet eine klassenbasierte Syntax. Strawberry ist moderner, nutzt native Python-Type-Hints und bietet eine bessere Integration mit Typing-Tools. Strawberry wird für neue Projekte empfohlen, da es eine pythonischere Syntax und native Async-Unterstützung bietet.
3Wie definiert man mit Strawberry einen einfachen GraphQL-Typ, um ein Django-User-Modell darzustellen?
Wie definiert man mit Strawberry einen einfachen GraphQL-Typ, um ein Django-User-Modell darzustellen?
Antwort
Mit Strawberry wird der Decorator @strawberry.type auf einer Dataclass-Klasse verwendet, um einen GraphQL-Typ zu definieren. Felder werden mit Standard-Python-Type-Hints (str, int usw.) deklariert. Dieser Ansatz nutzt das native Typsystem von Python, macht den Code lesbarer und ermöglicht eine bessere Integration mit IDEs und Typprüfungstools wie mypy.
Was ist ein Resolver in GraphQL und was ist seine Rolle?
Was ist der Unterschied zwischen einer Query und einer Mutation in GraphQL?
+21 Interview-Fragen
Weitere Django-Interviewthemen
Python-Grundlagen
Objektorientiertes Python
Django-Grundlagen
Django Models - Grundlagen
Django Views
Django-Templates
Django-Formulare
Erweiterte QuerySets
Django-Authentifizierung
Django-Middleware
Django Admin
Django REST Framework
Django-Signale
Datei-Upload
Django Caching
Django-Sessions
Django E-Mail
Django-Testing
Django-Sicherheit
Django-Deployment
Fortgeschrittenes Django ORM
Django-Performance
Django & Celery
Django Channels
Django & Docker
Django im Microservices-Ökosystem
Benutzerdefinierte Django-Befehle
Django-Internationalisierung
Django Design Patterns
Django Async & ASGI
Settings & Produktionskonfiguration
Observability & Monitoring
Meistere Django für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten