Standardisiert: Die JSON:API-Spezifikation

Die JSON:API-Spezifikation definiert einen Standard für REST-APIs. Wie GraphQL ermöglicht sie einem Client, mit einer Abfrage benötigte Daten anzufordern.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Standardisiert: Die JSON:API-Spezifikation
Lesezeit: 12 Min.
Von
  • Jeldrik Hanschke
Inhaltsverzeichnis

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 Einarbeitungszeit, 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 1.0-Versionen 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.

Bessere APIs mit GraphQL

Im Zentrum der Spezifikation steht das Resource Object, das einen Datensatz repräsentiert. Das folgende Listing zeigt beispielhaft ein solches für einen Artikel in einem Blog.