Direkt zum Inhalt

Überblick über das API-Modul

Drupal 10 JSON: Überblick über das API-Modul Das leistungsstarke und standardisierte Mittel zur Erstellung von APIs in der Drupal-Umgebung. Erfahren Sie mehr über die Grundlagen von JSON:API, Konfiguration und die Interaktion mit der API.
10 minuten lesen
icerik-yonetim-sistemi-cms-secimi

JSON:API ist eine leistungsstarke und standardisierte API-Spezifikation. Der Drupal-Kern stellt ein Modul namens 'JSON:API' bereit, das die JSON:API-Spezifikation in Drupal 8 und späteren Versionen umsetzt. Dieses Modul bietet einen einfachen Weg, APIs innerhalb des Drupal-Ökosystems zu erstellen, zusätzlich zu anderen Methoden wie dem Rest Web Service-Modul.

Was ist JSON:API?

JSON:API, eine API-Spezifikation, die definiert, wie Clientanwendungen Ressourcen von einem Server anfordern und empfangen können. Es erleichtert die Interaktion von Entwicklern mit der API, indem es eine Reihe von Regeln für die Konfiguration von Anfragen und Antworten bereitstellt. Die Spezifikation gewährleistet Konsistenz, vereinfacht die Datenaufnahme und reduziert die Notwendigkeit für individuelle Konfigurationen bei der Erstellung von APIs.

Für weitere ausführliche Informationen zu JSON:API können Sie die Dokumentation auf jsonapi.org besuchen.

Lassen Sie uns nun die erforderlichen Schritte zur Erstellung eines JSON:API in Drupal genauer betrachten:

JSON:API-Modul aktivieren

Um zu beginnen, stellen Sie sicher, dass das JSON:API-Modul auf Ihrer Drupal-Website aktiviert ist. Glücklicherweise ist dieses Modul in Drupal 8 und neueren Versionen als Kernmodul enthalten, daher müssen Sie keine zusätzlichen Erweiterungen installieren.

Überprüfen Sie im Drupal-Verwaltungsmenü den Abschnitt "Module", um sicherzustellen, dass das JSON:API-Modul aufgeführt und aktiviert ist. Wenn es nicht aktiviert ist, können Sie es von hier aus aktivieren.

Konfiguration des JSON:API-Moduls

Das JSON:API-Modul in Drupal bietet standardmäßig begrenzte Konfigurationsoptionen und konzentriert sich hauptsächlich darauf, erlaubte Operationen zu regulieren.

Aber wenn Sie die Notwendigkeit haben, API-Routen, Ressourcennummern oder Standardressourceneigenschaften wie Felder zu ändern oder eine Schnittstelle benötigen, um bestimmte Felder oder Ressourcen zu deaktivieren, können Sie das JSON:API Extras-Modul verwenden. JSON:API Extras erweitert die Funktionen des JSON:API-Moduls und bietet zusätzliche Funktionen und Flexibilität, um die Funktionalität Ihrer API besser an die Anforderungen Ihres individuellen Projekts anzupassen.

JSON:API-Verwendung

Sobald Sie das JSON:API-Modul aktiviert und konfiguriert haben, ist es an der Zeit, Ihre neu erstellte API zu testen und sich mit ihr zu verbinden

Quellen lesen

Beispiel-URL: http://localhost/jsonapi/node/article

Diese URL ruft Daten aus dem Ressourcentyp Artikelknoten mit JSON:API ab und zeigt die Ergebnisse im JSON:API-Spezifikationsformat an. Sie können auf andere Ressourcentypen zugreifen, indem Sie dem angegebenen URL-Muster folgen und den Teil node/article ersetzen.

Authentifizierung für CRUD-Operationen

Die Interaktion mit der JSON:API ist mit Tools wie Postman oder cURL möglich. Standardmäßig wird der Benutzer bei Anfragen mit diesen Tools als anonymer Benutzer betrachtet, da sie den Benutzer nicht automatisch authentifizieren. Dies kann den Zugang zu bestimmten Ressourcen einschränken, je nachdem, welche Berechtigungen anonymen Benutzern in Ihrer Drupal-Konfiguration gewährt werden.

Wenn Sie jedoch beabsichtigen, Ressourcen über JSON:API zu erstellen, zu aktualisieren oder zu löschen, sind anonyme Berechtigungen allein nicht ausreichend. Für diese Operationen ist eine Benutzerauthentifizierung erforderlich. Drupal bietet verschiedene Authentifizierungsmechanismen durch unterschiedliche Module an. Eine der am häufigsten verwendeten Methoden ist das HTTP Basic Auth Modul, das im Drupal Core verfügbar ist. Darüber hinaus können umfangreichere Module wie Drupal REST & JSON API Authentication zusätzliche Authentifizierungsmethoden und Anpassungsoptionen bieten.

Schritte, um eine authentifizierte Anfrage zu stellen

  1. Stellen Sie sicher, dass alle Prozesse für diese Instanz aktiviert sind

  2. Aktivieren Sie das Modul HTTP Basic Authentication

  3. Erstellen Sie eine Rolle für den API-Benutzer

  4.  Erteilen Sie die erforderlichen Berechtigungen für die Rolle: /admin/people/permissions/api_user
  5. Für dieses Beispiel *Artikel*: Berechtigung "Neuen Inhalt erstellen".
  6. Erstellen Sie einen Benutzer mit der Berechtigung API-Benutzer: /admin/people/create

  7. Konfigurieren Sie die Autorisierung in Postman. Verwenden Sie das neu erstellte Konto

  8. Content-Type-Header mit dem Wert application/vnd.api+json hinzufügen

  9. Aktualisieren Sie den Rumpf:

    {         "data": {           "type": "node--article",           "attributes": {             "title": "This page is created trough JSON:API",             "body": {               "value": "some body text",               "format": "plain_text"             }           }         }        }
  10. Senden Sie die Anfrage und beobachten Sie die Antwort. Wenn der Statuscode 201 lautet, haben Sie erfolgreich eine authentifizierte Anfrage an Ihre JSON:API gestellt und einen Knoten vom Typ Artikel erstellt

Schlussfolgerung

JSON:API ist eine leistungsstarke und standardisierte API-Spezifikation, die die Erstellung von APIs in Drupal erleichtert. Seine nahtlose Integration als Kernmodul in Drupal 8 und höher reduziert den Bedarf an benutzerdefinierter Konfiguration, indem es Entwicklern eine standardisierte API-Schnittstelle bietet. Wenn Sie das JSON:API-Modul aktivieren, können Sie mühelos mit den Daten Ihrer Drupal-Website interagieren, indem Sie bestimmte URL-Muster und das JSON:API-Spezifikationsformat verwenden.

Um weitere Verwendungsmöglichkeiten und zusätzliche Fähigkeiten des JSON:API-Moduls zu erkunden, können Sie die Dokumentation des Drupal JSON:API-Moduls lesen. Diese umfassende Dokumentation bietet wertvolle Informationen über erweiterte Funktionen, einschließlich Paging, Sortierung, Datei-Upload und andere Details.

Referenzen und zusätzliche Ressourcen

Unsere Büros

Drupart Locations

Unsere Buros

Wiesbaden

Hinterbergstraße 27
65207 Wiesbaden
Deutschland

+49 (0) 6151 – 492 70 23

[email protected]

London

151 West Green Road, London, England

+44 203 815 6478

[email protected]

Newark

112 Capitol Trail Suite, A437 Newark DE, 19711

+1 (740) 666 6255

[email protected]

Istanbul

GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ

+49 (0) 6151 – 492 70 23

[email protected]