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

In dit deel van de Hoofdloze Reis van de Ontwikkelaar van AEM,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 hoofdloze reis van AEM, hoe te om tot Uw Inhoud via de Levering APIs van AEM toegang te hebbenleerde u hoe te om tot uw inhoud zonder kop in AEM via AEM 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 uw 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?

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

De Assets REST-API is beschikbaar voor elke installatie van een recente Adobe Experience Manager-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 bewerking kunt u met de API Adobe Experience Manager gebruiken als een CMS zonder kop (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 van één pagina (SPA), op basis van framework of 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. Ze worden gebruikt om onder andere toegang te krijgen tot gestructureerde gegevens, zoals teksten, getallen, datums.

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 het feit of u een AEM-auteur of -publicatieomgeving gebruikt en van 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).

  • Levering is mogelijk van beide, aangezien AEM aangevraagde inhoud alleen in JSON-indeling levert.

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

    • Een AEM-publicatie-exemplaar wordt aanbevolen voor live webweergave.

CAUTION
De configuratie van de verzender in AEM-instanties kan de toegang tot /api blokkeren.
NOTE
Zie de API-naslaggids voor meer informatie. In het bijzonder, Adobe Experience Manager Assets API - de Fragmenten van de Inhoud.

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 gebeurt via:

DELETE /{cfParentPath}/{cfName}

Voor meer informatie over het gebruik van de AEM Assets REST API kunt u verwijzen naar:

  • 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 reis zonder kop van AEM door het document moeten voortzetten te herzien hoe te met Uw Zwaardeloze Toepassinggaan waar u eigenlijk uw project van AEM Zwaardeloos neemt levende!

Aanvullende bronnen additional-resources

recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2