logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

Aktualisierung der vorhandenen Ressourcen (PATCH)

21/05/2025, by Ivan

Diese Seite zeigt Beispiele für PATCH-Anfragen für das JSON:API-Modul.

Update-Operation aktivieren

Gehe zu /admin/config/services/jsonapi
und aktiviere die Option „Alle JSON:API-Operationen zum Erstellen, Lesen, Aktualisieren und Löschen akzeptieren“.

jsonapi-accept-create-read-update-delete

Authentifizierung

Typischerweise wird für PATCH-Anfragen eine Form der Authentifizierung verwendet. Die unten stehenden Beispiele verwenden alle Basic Authentication. Aktiviere das HTTP Basic Authentication-Modul, setze die Berechtigung für den API-Benutzer (und dessen Rolle) und trage den kodierten Benutzernamen und das Passwort in den 'Authorization'-Header der Anfrage ein.

Im Beispiel-Header auf dieser Seite wird ein Drupal-Benutzer „api“ mit dem Passwort „api“ vorausgesetzt. Dieser Benutzer muss die Berechtigung haben, die angeforderten Inhalte zu aktualisieren.

Header

Die folgenden Header sind erforderlich für alle PATCH-Anfragen, um eine korrekte JSON:API-Anfrage und Antwort zu erhalten.

  • Accept: application/vnd.api+json
  • Content-Type: application/vnd.api+json

Folgender Header ist notwendig, damit die Beispiele funktionieren:

  • Authorization: Basic VALUE

Diesen VALUE erhältst du in deiner Anwendung mit folgendem Kommandozeilen-Befehl:

echo -n "BENUTZERNAME:PASSWORT" | base64 -w0

Nutze den oben ausgegebenen Wert nach BASIC. In diesem Beispiel geben die Zugangsdaten api:api den Wert YXBpOmFwaQ== zurück, der Header sieht dann so aus:

Authorization: Basic YXBpOmFwaQ==

Einfache PATCH-Anfrage

URL: http://example.com/jsonapi/node/article/{{article_uuid}}

Request-Body

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mein aktualisierter Titel"
    }
  }
}

Die „id“ ist erforderlich. Füge die Attribute hinzu, die aktualisiert werden sollen.

Antwort

HTTP-200-Antwort. Der Antwort-Body enthält die JsonApi-Antwort der aktualisierten Entität.

PATCH mit weiteren Attributen

URL: http://example.com/jsonapi/node/article/{{article_uuid}}

Request-Body

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mein aktualisierter Titel",
      "body": {
        "value": "Aktualisierter Body-Text",
        "format": "plain_text",
        "summary": "Aktualisierte Zusammenfassung"
      }
    },
    "relationships": {
      "uid": {
        "data": {
          "type": "user--user",
          "id": "{{user_uuid}}"
        }
      }
    }
  }
}

Antwort

HTTP-200-Antwort. Der Antwort-Body enthält Body, Zusammenfassung und Autor der aktualisierten Entität.

PATCH, um eine Beziehung zu entfernen

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mein aktualisierter Titel",
      "body": {
        "value": "Aktualisierter Body-Text",
        "format": "plain_text",
        "summary": "Aktualisierte Zusammenfassung"
      }
    },
    "relationships": {
      "my_entity_reference_field": {
        "data": {}
      }
    }
  }
}

Antwort

HTTP-200-Antwort. Der Antwort-Body enthält den aktualisierten Body, die Zusammenfassung und die entfernte Entitätsreferenz.

Artikel von Drupal Documentation.