Aktualisieren Ihres Inhalts über AEM Assets-APIs update-your-content
In diesem Teil der AEM Headless-Entwickler-Tour erfahren Sie, wie Sie mit der REST-API auf die Inhalte Ihrer Inhaltsfragmente zugreifen und diese aktualisieren können.
Die bisherige Entwicklung story-so-far
Im vorherigen Dokument der AEM Headless-Tour, Zugriff auf Ihre Inhalte über AEM-Bereitstellungs-APIs haben Sie erfahren, wie Sie über die AEM-GraphQL-API auf Ihre Headless-Inhalte in AEM zugreifen können. Nun sollten Sie:
- über ein hohes Maß an Verständnis von GraphQL verfügen,
- verstehen, wie die AEM-GraphQL-API funktioniert,
- einige praktische Beispielabfragen verstehen.
Dieser Artikel baut auf diesen Grundlagen auf, sodass Sie verstehen, wie Sie Ihre vorhandenen Headless-Inhalte in AEM über die REST-API aktualisieren können.
Ziel objective
-
Zielgruppe: Fortgeschrittene
-
Ziele: Sie erfahren, wie Sie mit der REST-API auf die Inhalte Ihrer Inhaltsfragmente zugreifen und diese aktualisieren können:
- Einführung in die AEM Assets-HTTP-API.
- Einführung und Diskussion der Unterstützung von Inhaltsfragmenten in der API.
- Veranschaulichende Details zur API.
Warum Sie die Assets-HTTP-API für Inhaltsfragmente benötigen why-http-api
Im vorherigen Teil der Headless-Tour haben Sie erfahren, wie Sie mit der AEM-GraphQL-API Inhalte mithilfe von Abfragen abrufen können.
Warum ist also eine weitere API erforderlich?
Die Assets-HTTP-API ermöglicht zwar das Lesen Ihres Inhalts, aber auch das Erstellen, Aktualisieren und Löschen von Inhalten – Aktionen, die mit der GraphQL-API nicht möglich sind.
Die Assets-REST-API ist in jeder standardmäßigen Installation einer aktuellen Adobe Experience Manager as a Cloud Service-Version verfügbar.
Assets-HTTP-API assets-http-api
Die Assets-HTTP-API umfasst die:
- Assets-REST-API
- einschließlich Unterstützung für Inhaltsfragmente
Die aktuelle Implementierung der Assets-HTTP-API basiert auf dem Architekturstil REST und ermöglicht den Zugriff auf (in AEM gespeicherte) Inhalte über CRUD-Vorgänge (Create, Read, Update, Delete, also Erstellen, Lesen, Aktualisieren, Löschen).
Durch diese Operationen ermöglicht die API es Ihnen, Adobe Experience Manager as a Cloud Service als Headless-CMS (Content-Management-System) auszuführen, indem es einem JavaScript-Frontend-Programm Content Services bereitstellt. Oder jedem anderen Programm, das HTTP-Anfragen ausführen und JSON-Antworten verarbeiten kann. Beispielsweise benötigen Framework-basierte oder benutzerdefinierte Single Page Applications (SPAs) die über die API bereitgestellten Inhalte häufig im JSON-Format.
Assets-HTTP-API und Inhaltsfragmente assets-http-api-content-fragments
Inhaltsfragmente werden für die Headless-Bereitstellung verwendet. Ein Inhaltsfragment ist ein spezieller Asset-Typ. Sie können für den Zugriff auf strukturierte Daten wie z. B. Texte, Zahlen und Daten verwendet werden.
Verwenden der Assets REST-API using-aem-assets-rest-api
Zugriff access
Die Assets REST-API verwendet den /api/assets
-Endpunkt und benötigt für den Zugriff auf das Asset dessen Pfad (ohne das Präfix /content/dam
).
- Das bedeutet, dass Sie für den Zugriff auf das Asset unter
/content/dam/path/to/asset
- Folgendes anfordern müssen:
/api/assets/path/to/asset
Um beispielsweise auf /content/dam/wknd/en/adventures/cycling-tuscany
zuzugreifen, fordern Sie /api/assets/wknd/en/adventures/cycling-tuscany.json
an.
/api/assets
erfordert keine Verwendung des.model
-Selektors./content/path/to/page
erfordert die Verwendung des.model
-Selektors.
Vorgang operation
Die HTTP-Methode ermittelt den auszuführenden Vorgang:
- GET: Zum Abrufen einer JSON-Darstellung eines Assets bzw. Ordners
- POST: Zum Erstellen neuer Assets oder Ordner
- PUT: Zum Aktualisieren der Eigenschaften eines Assets oder Ordners
- DELETE: Zum Löschen eines Assets oder Ordners
Das genaue Format der unterstützten Anforderungen ist in der API-Referenzdokumentation definiert.
Die Verwendung unterscheidet sich je nachdem, ob Sie eine AEM-Autoren- oder Veröffentlichungsumgebung zusammen mit Ihrem spezifischen Verwendungsszenario verwenden.
-
Es wird dringend empfohlen, dass die Erstellung in einer Autoreninstanz erfolgt (und derzeit gibt es keine Möglichkeit, ein Fragment mit dieser API für die Veröffentlichungsinstanz zu replizieren).
-
Die Bereitstellung ist in beiden Umgebungen möglich, da AEM angeforderte Inhalte nur im JSON-Format bereitstellt.
-
Das Speichern und Bereitstellen über eine AEM-Autoreninstanz sollte für Mediathekanwendungen hinter einer Firewall ausreichen.
-
Für die Live-Web-Bereitstellung wird eine AEM-Veröffentlichungsinstanz empfohlen.
-
/api
.Lesen/Bereitstellen read-delivery
Nutzung erfolgt über:
GET /{cfParentPath}/{cfName}.json
Zum Beispiel:
http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json
Die Antwort ist serialisiertes JSON mit dem im Inhaltsfragment strukturierten Inhalt. Verweise werden als Referenz-URLs bereitgestellt.
Zwei Arten von Lesevorgängen sind möglich:
- Beim Lesen eines spezifischen Inhaltsfragments über einen Pfad gibt diese Methode die JSON-Darstellung des Inhaltsfragments zurück.
- Beim Lesen eines Ordners mit Inhaltsfragmenten über einen Pfad gibt diese Methode die JSON-Darstellung aller Inhaltsfragmente in diesem Ordner zurück.
Erstellen create
Nutzung erfolgt über:
POST /{cfParentPath}/{cfName}
Der Hauptteil muss eine JSON-Darstellung des zu erstellenden Inhaltsfragments enthalten – einschließlich des anfänglichen Inhalts, der für Inhaltsfragmentelemente festgelegt werden soll. Sie müssen die Eigenschaft cq:model
festlegen und auf ein gültiges Inhaltsfragmentmodell verweisen. Andernfalls tritt ein Fehler auf. Außerdem müssen Sie eine Kopfzeile vom Typ Content-Type
hinzufügen, für die application/json
festgelegt ist.
Update update
Nutzung erfolgt über
PUT /{cfParentPath}/{cfName}
Der Hauptteil muss eine JSON-Darstellung davon enthalten, was für das angegebene Inhaltsfragment aktualisiert werden soll.
Dies kann einfach der Titel oder die Beschreibung eines Inhaltsfragments bzw. ein einzelnes Element oder alle Elementwerte und/oder Metadaten sein.
Löschen delete
Nutzung erfolgt über:
DELETE /{cfParentPath}/{cfName}
Weitere Informationen zur Verwendung der AEM Assets REST-API finden Sie in folgenden Quellen:
- Adobe Experience Manager Assets-HTTP-API (Zusätzliche Ressourcen)
- Unterstützung von Inhaltsfragmenten in der AEM Assets-HTTP-API (Zusätzliche Ressourcen)
Wie geht es weiter whats-next
Nachdem Sie nun diesen Teil der AEM Headless-Entwickler-Tour abgeschlossen haben, sollten Sie über die folgenden Kenntnisse verfügen:
- die Grundlagen der AEM Assets-HTTP-API verstehen,
- verstehen, wie Inhaltsfragmente in dieser API unterstützt werden.
Sie sollten Ihre AEM-Headless-Tour fortsetzen, indem Sie als Nächstes das Dokument Wie man alles zusammenfügt – Ihre App und Ihre Inhalte in AEM Headless lesen, in dem Sie sich mit den Grundlagen der AEM-Architektur und den Tools vertraut machen, die Sie zum Zusammenstellen Ihrer Anwendung benötigen.
Zusätzliche Ressourcen additional-resources
- Adobe Experience Manager as a Cloud Service-APIs
- Assets-HTTP-API
- Inhaltsfragment-REST-API
- Adobe Experience Manager Assets API – Inhaltsfragmente
- Arbeiten mit Inhaltsfragmenten
- AEM-Kernkomponenten
- Erklärung: CORS/AEM
- Video: Entwicklung für CORS mit AEM
- Einführung in AEM als Headless-CMS
- AEM-Entwicklerportal
- Headless-Tutorials für AEM
- Die OpenAPIs für Inhaltsfragmente und Inhaltsfragmentmodelle sind ebenfalls verfügbar.