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

In dit deel van de AEM Zwaardeloze Reis van de Ontwikkelaar,leert hoe te om REST API te gebruiken om tot de inhoud van uw Fragments van de Inhoud toegang te hebben en bij te werken.

Het verhaal tot nu toe story-so-far

In het vorige document van de AEM headless reis, hoe te om tot Uw Inhoud via AEM levering APIs toegang te hebbenleerde u hoe te om tot uw inhoud zonder kop in AEM via GraphQL API toegang te hebben en u zou nu moeten:

  • 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 te om REST API te gebruiken om tot de inhoud van uw Fragments van de Inhoud toegang te hebben 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 Assets HTTP API voor inhoudsfragmenten nodig? 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?

HTTP Assets API staat u toe ​te lezen uw inhoud, maar het laat u , Update en schrapt inhoud ook creëren - acties die niet met GraphQL API mogelijk zijn.

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

ASSETS HTTP API assets-http-api

De Assets HTTP-API omvat:

  • ASSETS REST API
  • inclusief ondersteuning voor inhoudsfragmenten

De huidige implementatie van Assets HTTP API is gebaseerd op de REST architecturale stijl en laat u toe om tot inhoud toegang te hebben (die in AEM wordt opgeslagen) via CRUD verrichtingen (creeer, Gelezen, Update, Schrapping).

Met deze bewerkingen kunt u met de API Adobe Experience Manager as a Cloud Service als een headless CMS (Content Management System) gebruiken 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.

Assets 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 Assets REST API gebruiken using-aem-assets-rest-api

Toegang access

De Assets REST-API gebruikt het /api/assets -eindpunt en vereist het pad van het element om het te openen (zonder de regelafstand /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

Als u bijvoorbeeld toegang wilt krijgen tot /content/dam/wknd/en/adventures/cycling-tuscany , vraagt u om /api/assets/wknd/en/adventures/cycling-tuscany.json

NOTE
Toegang over:
  • /api/assets ​nodig niet het gebruik van .model selecteur.
  • /content/path/to/page ​vereist het gebruik van .model selecteur.

Bewerking operation

De HTTP-methode bepaalt de uit te voeren bewerking:

  • GET - om een vertegenwoordiging JSON van activa of een omslag terug te winnen
  • POST - om nieuwe activa of omslagen te creëren
  • PUT - om de eigenschappen van een activa of een omslag bij te werken
  • DELETE - om activa of een omslag te schrappen
NOTE
De verzoeklichaam en/of parameters URL kunnen worden gebruikt om sommige van deze verrichtingen te vormen; bijvoorbeeld, bepaal dat een omslag of een activa door a POST verzoek zou moeten worden gecreeerd.

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 dispatcher op AEM wolkeninstanties kan de toegang tot /api blokkeren.

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 eigenschap cq:model in te stellen en deze moet verwijzen naar een geldig inhoudsfragmentmodel. Als u dit niet doet, treedt er een fout op. U moet ook een koptekst Content-Type toevoegen 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 zou uw AEM hoofdloze reis door het document moeten voortzetten te herzien hoe te om het allen samen te zetten - Uw App en Uw Inhoud in AEM Zetelwaar u met de AEM architectuurgrondbeginselen en hulpmiddelen vertrouwd zult worden u moet gebruiken om uw toepassing samen te zetten.

Aanvullende bronnen additional-resources

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