Uw inhoud bijwerken via AEM Assets API's update-your-content

In dit deel van het AEM Headless Developer Journey, Leer hoe u de REST API kunt gebruiken om de inhoud van de Content Fragments te openen en bij te werken.

Het verhaal tot nu toe story-so-far

In het vorige document van de AEM zonder kop: Toegang tot uw inhoud via AEM levering-API's U hebt geleerd hoe u toegang krijgt tot inhoud zonder kop in AEM via de AEM GraphQL API. Nu moet u:

  • Een goed begrip van GraphQL.
  • Begrijp hoe de AEM GraphQL API werkt.
  • Begrijp sommige praktische steekproefvragen.

Dit artikel bouwt verder op deze basisbeginselen, zodat u begrijpt hoe u bestaande inhoud zonder kop in AEM kunt bijwerken via de REST API.

Doelstelling objective

  • Publiek: Geavanceerd

  • Doelstelling: Leer hoe u de REST API kunt gebruiken om de inhoud van de inhoudsfragmenten te openen en bij te werken:

    • Introduceer de AEM Assets HTTP API.
    • Introduceer en bespreek de ondersteuning voor inhoudsfragmenten in de API.
    • Details van de API illustreren.

Waarom hebt u de HTTP-API Middelen nodig voor inhoudsfragmenten why-http-api

In de vorige fase van de Headless Journey hebt u geleerd hoe u de AEM GraphQL API kunt gebruiken om uw inhoud op te halen met behulp van query's.

Waarom is er dus nog een API nodig?

Met de HTTP-API voor middelen kunt u Lezen uw inhoud, maar het laat u ook Maken, Bijwerken en Verwijderen content - acties die niet mogelijk zijn met de GraphQL API.

De REST-API voor middelen is beschikbaar voor elke installatie van een recente Adobe Experience Manager as a Cloud Service-versie die buiten de box valt.

Elementen HTTP-API assets-http-api

De HTTP-API voor Middelen omvat:

  • REST-API voor middelen
  • inclusief ondersteuning voor inhoudsfragmenten

De huidige implementatie van de HTTP-API voor middelen is gebaseerd op de REST architecturale stijl en biedt toegang tot inhoud (opgeslagen in AEM) via CRUD bewerkingen (Maken, lezen, bijwerken, verwijderen).

Met deze bewerkingen kunt u met de API Adobe Experience Manager as a Cloud Service gebruiken als een headless CMS (Content Management System) door Content Services aan te bieden aan een JavaScript front-end toepassing. Of elke andere toepassing die HTTP-aanvragen kan uitvoeren en JSON-reacties kan verwerken. Toepassingen voor één pagina (SPA), die zijn gebaseerd op een framework of die zijn aangepast, vereisen bijvoorbeeld inhoud die via een API wordt aangeboden, vaak in JSON-indeling.

Elementen HTTP API en inhoudsfragmenten assets-http-api-content-fragments

Inhoudsfragmenten worden gebruikt voor levering zonder kop en een inhoudsfragment is een speciaal type element. Zij worden gebruikt om tot gestructureerde gegevens, zoals teksten, aantallen, data toegang te hebben.

De REST-API voor middelen gebruiken using-aem-assets-rest-api

Toegang access

De REST-API voor middelen gebruikt de /api/assets eindpunt en vereist de weg van de activa om tot het toegang te hebben (zonder het leiden /content/dam).

  • Dit betekent dat toegang tot het actief moet worden verkregen tegen:
    • /content/dam/path/to/asset
  • U moet een aanvraag indienen:
    • /api/assets/path/to/asset

Bijvoorbeeld om /content/dam/wknd/en/adventures/cycling-tuscany, verzoek /api/assets/wknd/en/adventures/cycling-tuscany.json

NOTE
Toegang over:
  • /api/assets niet het gebruik van de .model kiezer.
  • /content/path/to/page doet het gebruik van de .model kiezer.

Bewerking operation

De HTTP-methode bepaalt de uit te voeren bewerking:

  • GET - om een JSON-representatie van een middel of een map op te halen
  • POST - om nieuwe elementen of mappen te maken
  • PUT - om de eigenschappen van een middel of een omslag bij te werken
  • DELETE - om een middel of een omslag te schrappen
NOTE
De parameters request body en/of URL kunnen worden gebruikt om sommige van deze bewerkingen te configureren; definieer bijvoorbeeld dat een map of een element moet worden gemaakt door een POST verzoek.

De exacte indeling van ondersteunde aanvragen wordt gedefinieerd in de API-naslagdocumentatie.

Het gebruik kan verschillen afhankelijk van of u een AEM auteur of publicatieomgeving gebruikt, samen met uw specifieke gebruiksscenario.

  • Het wordt sterk aanbevolen dat het maken is gebonden aan een instantie van de auteur (en momenteel is er geen manier om een fragment te repliceren om te publiceren met behulp van deze API).

  • De levering is mogelijk van beide, aangezien AEM gevraagde inhoud in formaat slechts JSON dient.

    • Opslag en levering vanuit een AEM auteur-instantie zouden voldoende moeten zijn voor toepassingen achter de firewall, in de mediabibliotheek.

    • Voor live webweergave wordt een AEM-publicatie-instantie aanbevolen.

CAUTION
De configuratie van de verzender op AEM wolkeninstanties kan de toegang tot /api.

Lezen/Levering read-delivery

Gebruik gebeurt via:

GET /{cfParentPath}/{cfName}.json

Bijvoorbeeld:

http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json

De reactie is geserialiseerd met JSON met de inhoud gestructureerd zoals in het inhoudsfragment. Referenties worden als referentie-URL's geleverd.

Er zijn twee typen leesbewerkingen mogelijk:

  • Als u een specifiek inhoudsfragment leest per pad, wordt hiermee de JSON-representatie van het inhoudsfragment geretourneerd.
  • Een map met inhoudsfragmenten lezen op pad: hiermee worden de JSON-representaties van alle inhoudsfragmenten in de map geretourneerd.

Maken create

Gebruik gebeurt via:

POST /{cfParentPath}/{cfName}

De hoofdtekst moet een JSON-representatie bevatten van het inhoudsfragment dat moet worden gemaakt, inclusief de initiële inhoud die moet worden ingesteld op de elementen van het inhoudsfragment. Het is verplicht de cq:model en moet verwijzen naar een geldig inhoudsfragmentmodel. Als u dit niet doet, treedt er een fout op. Er moet ook een koptekst worden toegevoegd Content-Type die is ingesteld op application/json.

Bijwerken update

Gebruik is via

PUT /{cfParentPath}/{cfName}

De hoofdtekst moet een JSON-representatie bevatten van wat voor het opgegeven inhoudsfragment moet worden bijgewerkt.

Dit kan gewoon de titel of beschrijving zijn van een inhoudsfragment, of één element, of alle elementwaarden en/of metagegevens.

Verwijderen delete

Gebruik is als volgt:

DELETE /{cfParentPath}/{cfName}

Raadpleeg de volgende bronnen voor meer informatie over het gebruik van de AEM Assets REST API:

  • Adobe Experience Manager Assets HTTP API (extra bronnen)
  • Ondersteuning voor inhoudsfragmenten in AEM Assets HTTP API (extra bronnen)

Volgende functies whats-next

Nu u dit deel van de AEM Headless Developer Journey hebt voltooid, moet u:

  • Begrijp de basisbeginselen van de AEM Assets HTTP API.
  • Begrijp hoe de Fragments van de Inhoud in deze API worden gesteund.

U moet uw AEM zonder kop voortzetten door het document opnieuw te bekijken Alles bij elkaar plaatsen - uw app en uw inhoud in AEM headless waar u vertrouwd zult raken met de AEM architectuurgrondbeginselen en hulpmiddelen u moet gebruiken om uw toepassing samen te stellen.

Aanvullende bronnen additional-resources

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab