iX 6/2019
S. 53
Titel
JSON

Standardisiert: Die JSON:API-Spezifikation

Zugriff

Jeldrik Hanschke

Mit der zunehmenden Bedeutung von Apps für Smartphones und der Einführung von Single-Page Applications zeigten sich schnell die Schwächen klassischer REST-API-Designs. Eine starre, vom Server vorgegebene Struktur passt immer seltener zu den komplexen Anforderungen der Clients.

Mobile Apps und Webanwendungen brauchen immer häufiger mehrere, teils dutzende Abfragen, bis sie alle benötigten Daten eingesammelt haben. Die Übertragung etlicher überschüssiger Daten und lange Ladezeiten sind die Folge. Auf die Anforderungen spezifischer Clients zugeschnittene Endpunkte markieren nur den mehr schlechten als rechten Versuch einer Lösung. Gleichzeitig erhöht der Wildwuchs unterschiedlicher Implementierungen die Ein­arbeitungszeit, den Dokumentationsaufwand und den Diskussionsbedarf für jede einzelne API.

Während ein Team bei Facebook als Antwort auf die neuen Anforderungen die Arbeit an GraphQL aufnahm, begann eine Gruppe um Yehuda Katz, Mitglied in den Core Teams von Ember.js, Ruby on Rails, Rust und jQuery, eine Spezifikation für REST-APIs zu schreiben. Nahezu zeitgleich erschienen im Jahr 2015 die Version 1.0 der JSON:API-Spezifikation und GraphQL. Trotz dieser Gleichzeitigkeit sind die Antworten denkbar unterschiedlich: GraphQL verabschiedet sich von der REST-Architektur und führt eine neue Abfragesprache ein. Die JSON:API-­Spezifikation dagegen will die Probleme durch ein ausgefeiltes API-Design innerhalb einer REST-Architektur lösen. Wie dies der aktuellen Ver­sion gelingt und wo die Stärken und Schwächen im Vergleich zur GraphQL liegen, beleuchtet dieser Artikel. 

Kommentieren