Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Magento 2 GraphQL Tutorial: Eigene Queries & Mutations lernen | Mironsoft

Magento 2 GraphQL: Das komplette Tutorial für eigene Queries, Mutations und Performance

GraphQL in Magento 2 von Grund auf lernen: Schema-Architektur, eigene Queries und Mutations schreiben, Core-Typen erweitern, Authentifizierung und Fehlerbehandlung im Resolver, N+1-Probleme mit Batch-Resolvern lösen, Caching, Datei-Uploads und ACL - demonstriert an einer durchgehenden Veranstaltungen-API.

Das lernst du

  • Warum Magento GraphQL neben REST und SOAP anbietet und wie schema.graphqls, Resolver und DataProvider zusammenspielen
  • Wie man in einem eigenen Modul eine eigene Query mit eigenen Typen, Pflichtfeldern, Listen und Input-Typen definiert
  • Wie man bestehende Core-Typen mit extend type um eigene Felder erweitert, statt sie zu duplizieren
  • Wie man Schritt für Schritt eine eigene Veranstaltungen-API baut: Schema mit Pagination, DataProvider, Filter und Sortierung, Einzelabfrage per Identifier
  • Wie man eine geschützte Mutation baut: Kunden-Token und Customer-Context prüfen, GraphQlInputException und GraphQlAuthorizationException richtig einsetzen
  • Wie man das N+1-Problem erkennt und mit Batch-Resolvern löst, GraphQL-Antworten cached und Datei-Uploads sowie ACL für eigene Endpunkte umsetzt
  • Wie man GraphQL-Queries testet und die häufigsten Fehler (Schema-Cache, fehlende Resolver-Registrierung, falsche Typ-Deklaration) systematisch debuggt

Voraussetzungen

  • Solide PHP-Kenntnisse und ein Grundverständnis der Magento-2-Modulstruktur werden vorausgesetzt - das eigenständige Modul-Grundgerüst wird in Block 2 trotzdem kurz wiederholt, bevor es an schema.graphqls und Resolver selbst geht

Kapitel dieser Serie

  1. 1 Was ist GraphQL? Warum Magento GraphQL neben REST und SOAP anbietet ~6 Min. Lesezeit
  2. 2 Magento-GraphQL-Architektur im Überblick: schema.graphqls, Resolver, DataProvider ~7 Min. Lesezeit
  3. 3 Die eingebaute GraphQL-Schnittstelle nutzen: Endpoint, erste Abfragen mit einem GraphQL-Client ~6 Min. Lesezeit
  4. 4 Voraussetzungen: eigenes Modul, schema.graphqls-Grundgerüst anlegen ~6 Min. Lesezeit
  5. 5 Eine erste eigene Query definieren und einen Resolver dazu schreiben ~7 Min. Lesezeit
  6. 6 Skalare und komplexe Typen, eigene Input-Typen definieren ~8 Min. Lesezeit
  7. 7 Pflichtfelder, Nullable-Felder, Listen im Schema richtig modellieren ~7 Min. Lesezeit
  8. 8 Core-Typen erweitern: extend type statt eigene Typen zu duplizieren ~7 Min. Lesezeit
  9. 9 Eigene Felder an Produkt, Kategorie oder Kunde anhängen ~8 Min. Lesezeit
  10. 10 Das ResolverInterface im Detail: Context, Field, Args, Value verstehen ~8 Min. Lesezeit
  11. 11 Projektvorstellung: eine Veranstaltungen-GraphQL-API, Modul- und Datenmodell ~9 Min. Lesezeit
  12. 12 Schema für Veranstaltungen definieren: Typ, Query, Pagination nach dem Connection-Pattern ~8 Min. Lesezeit
  13. 13 DataProvider und Resolver für die Veranstaltungsliste implementieren ~9 Min. Lesezeit
  14. 14 Filter und Sortierung in der GraphQL-Query anbieten ~8 Min. Lesezeit
  15. 15 Eine einzelne Veranstaltung per Identifier abfragen ~7 Min. Lesezeit
  16. 16 Was sind Mutations? Eine erste eigene Mutation schreiben ~8 Min. Lesezeit
  17. 17 Authentifizierung verstehen: Kunden-Token nutzen, den Customer-Context im Resolver prüfen ~8 Min. Lesezeit
  18. 18 Eine geschützte Mutation bauen: Veranstaltung als Favorit markieren (nur eingeloggte Kunden) ~8 Min. Lesezeit
  19. 19 Fehlerbehandlung: GraphQlInputException und GraphQlAuthorizationException richtig einsetzen ~8 Min. Lesezeit
  20. 20 Das N+1-Problem verstehen und mit Batch-Resolvern lösen ~9 Min. Lesezeit
  21. 21 Caching von GraphQL-Antworten und der Full Page Cache ~8 Min. Lesezeit
  22. 22 Datei-Uploads über GraphQL ~8 Min. Lesezeit
  23. 23 ACL und Berechtigungen für eigene GraphQL-Endpunkte ~8 Min. Lesezeit
  24. 24 GraphQL-Queries testen: Tools und automatisierte Tests ~8 Min. Lesezeit
  25. 25 Häufige Fehler und wie man sie debuggt (Schema-Cache, fehlende Resolver-Registrierung, falsche Typ-Deklaration) ~9 Min. Lesezeit
  26. 26 Zusammenfassung: Spickzettel aller wichtigsten GraphQL-Patterns aus dieser Serie ~7 Min. Lesezeit