Laden...

GraphQL – Die Alternative zu REST und SOAP

Was ist GraphQL

GraphQL ist eine Abfragesprache mit starker Typisierung, die von Facebook entwickelt und seit 2015 offiziell unter einer Open-Source-Lizenz veröffentlicht wurde. Als potenzieller Nachfolger von REST und SOAP, erhielt es mit dem Release der Version 2.3.0 Einzug in Magento. Seither werden mit jedem Update weitere Features per GraphQL nutzbar.

Vorteile von GraphQL

Die starke Typisierung erfordert die genaue Definition des Datentypen und möglichen Inhalte für jedes Feld. Dadurch werden typische Fehler bereits während der Erstellung des Schemas für die Schnittstelle künftig vermieden. Die genau festgelegte Definition erlaubt es Anfragen direkt auf Gültigkeit zu prüfen und damit ebenfalls wieder das Fehlerpotential zu senken.

Mit GraphQL lässt sich genau festlegen welche Datenfelder man abfragen möchte. Dadurch wird die Menge der übertragenen Daten nur auf notwendige Minimum reduziert. Zudem können mehrere Entitäten (Artikel, Kategorien, Bestellungen etc.) gleichzeitig abgefragt werden. Das spart Traffic, senkt die Anzahl an notwendigen Requests und erhöht ebenfalls die Performance.

Nachteile von GraphQL

Nicht alle Features von Magento sind bereits über GraphQL nutzbar. Zwar können neue Funktionen hinzugefügt werden, jedoch ist das mit zusätzlichem Entwicklungsaufwand verbunden.

Für öffentlich verfügbare APIs sollte das Rate-Limiting, sowie die Page-Size beachtet werden, um sicherzustellen, dass große Mengen an Anfragen den Server überlasten.

Fazit

Mit der Implementierung von GraphQL in Magento 2 wurde ein weiterer wichtiger Schritt in Richtung Headless-Commerce und APIs zur Anbindung an anderen Systemen gemacht. Wenn man mit REST und SOAP an seine Grenzen stößt, ist GraphQL eine flexible Alternative die, einige Probleme seiner Vorgänger löst.

Copyright © LCW Media GmbH & Co. KG