Så här uppdaterar du innehåll via AEM Assets API:er

I den här delen av AEM Headless Developer Journey, Lär dig hur du använder REST API för att komma åt och uppdatera innehållet i dina innehållsfragment.

Story hittills

I det föregående dokumentet om den AEM resan utan headless Få åtkomst till ditt innehåll via AEM-API:er har du lärt dig hur du får tillgång till ditt headless-innehåll i AEM via AEM GraphQL API och du bör nu:

  • Lär dig mer om GraphQL.
  • Förstå hur AEM GraphQL API fungerar.
  • Förstå några praktiska exempelfrågor.

Den här artikeln bygger på dessa grundläggande funktioner så att du förstår hur du uppdaterar det befintliga headless-innehållet i AEM via REST API.

Syfte

  • Målgrupp: Avancerat
  • Syfte: Lär dig hur du använder REST API för att komma åt och uppdatera innehållet i dina innehållsfragment:
    • Introducera AEM Assets HTTP API.
    • Presentera och diskutera stöd för innehållsfragment i API:t.
    • Visa information om API:t.

Varför behöver du Assets HTTP API för innehållsfragment

I det föregående steget i Headless Journey lärde du dig att använda API:t AEM GraphQL för att hämta ditt innehåll med hjälp av frågor.

Varför behövs en annan API?

Med Assets HTTP API kan du Läs innehållet, men det gör det även möjligt att Skapa, Uppdatera och Ta bort content - åtgärder som inte är möjliga med GraphQL API.

Resursens REST API är tillgängligt för varje körklar installation av en nyligen använd Adobe Experience Manager as a Cloud Service-version.

HTTP API för Assets

Resursens HTTP-API omfattar:

  • Resurser REST API
  • inklusive stöd för innehållsfragment

Den aktuella implementeringen av Assets HTTP API baseras på REST arkitektoniskt format så att du kan komma åt innehåll (lagrat i AEM) via CRUD (Skapa, läsa, uppdatera, ta bort).

Med den här åtgärden kan du med API:t köra Adobe Experience Manager as a Cloud Service som ett headless CMS (Content Management System) genom att tillhandahålla Content Services till ett JavaScript-klientprogram. Eller något annat program som kan köra HTTP-begäranden och hantera JSON-svar. Exempelvis kräver Single Page-program (SPA), ramverksbaserade eller anpassade, innehåll som tillhandahålls via ett API, ofta i JSON-format.

Resurser för HTTP API och innehållsfragment

Innehållsfragment används för rubrikfri leverans och ett innehållsfragment är en särskild typ av resurs. De används för att komma åt strukturerade data, t.ex. texter, siffror och datum.

Använda REST API för resurser

Åtkomst

Resursens REST API använder /api/assets slutpunkten och kräver att sökvägen till resursen har åtkomst till den (utan radavståndet) /content/dam).

  • Det innebär att du kan få tillgång till resursen på:
    • /content/dam/path/to/asset
  • Du måste begära:
    • /api/assets/path/to/asset

Till exempel för att komma åt /content/dam/wknd/en/adventures/cycling-tuscany, begäran /api/assets/wknd/en/adventures/cycling-tuscany.json

OBSERVERA

Åtkomst över:

  • /api/assets inte behöver du använda .model väljare.
  • /content/path/to/page gör kräver att .model väljare.

Åtgärd

HTTP-metoden avgör vilken åtgärd som ska utföras:

  • GET - för att hämta en JSON-representation av en resurs eller en mapp
  • POST - för att skapa nya resurser eller mappar
  • PUT - för att uppdatera egenskaperna för en resurs eller mapp
  • DELETE - ta bort en resurs eller mapp
OBSERVERA

Begärandetexten och/eller URL-parametrarna kan användas för att konfigurera vissa av dessa åtgärder. Definiera till exempel att en mapp eller en resurs ska skapas av en POST begäran.

Det exakta formatet för begäranden som stöds definieras i API-referensdokumentationen.

Användningen kan variera beroende på om du använder en AEM författare eller publiceringsmiljö, tillsammans med ditt specifika användningsexempel.

  • Vi rekommenderar att skapandet binds till en författarinstans (och det finns för närvarande inget sätt att replikera ett fragment för publicering med denna API).

  • Leverans är möjlig från båda, eftersom AEM endast skickar begärt innehåll i JSON-format.

    • Lagring och leverans från en AEM författarinstans bör räcka för program som ligger bakom brandväggen och mediabibliotek.

    • För direktwebbleverans rekommenderas en publiceringsinstans AEM.

FÖRSIKTIGHET

Dispatcher-konfigurationen på AEM molninstanser kan blockera åtkomst till /api.

OBSERVERA

Mer information finns i API-referensen. I synnerhet Adobe Experience Manager Assets API - innehållsfragment.

Läsning/leverans

Användning sker via:

GET /{cfParentPath}/{cfName}.json

Till exempel:

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

Svaret är serialiserat JSON med innehållet strukturerat som i innehållsfragmentet. Referenser levereras som referens-URL:er.

Det finns två typer av läsåtgärder:

  • När du läser ett visst innehållsfragment efter sökväg, returneras JSON-representationen av innehållsfragmentet.
  • Läsa en mapp med innehållsfragment efter sökväg: returnerar JSON-representationerna för alla innehållsfragment i mappen.

Skapa

Användning sker via:

POST /{cfParentPath}/{cfName}

Brödtexten måste innehålla en JSON-representation av det innehållsfragment som ska skapas, inklusive allt ursprungligt innehåll som ska anges för elementen i innehållsfragmentet. Det är obligatoriskt att ange cq:model och måste peka på en giltig innehållsfragmentmodell. Om du inte gör det uppstår ett fel. Du måste också lägga till en rubrik Content-Type som är inställd på application/json.

Uppdatera

Användning sker via

PUT /{cfParentPath}/{cfName}

Brödtexten måste innehålla en JSON-representation av vad som ska uppdateras för det angivna innehållsfragmentet.

Detta kan helt enkelt vara titeln eller beskrivningen av ett innehållsfragment, ett enskilt element eller alla elementvärden och/eller metadata.

Ta bort

Användning sker via:

DELETE /{cfParentPath}/{cfName}

Mer information om hur du använder AEM Assets REST API finns i:

  • Adobe Experience Manager Assets HTTP API (ytterligare resurser)
  • Stöd för innehållsfragment i AEM Assets HTTP API (ytterligare resurser)

What's Next

Nu när du är klar med den här delen av AEM Headless Developer Journey ska du:

  • Förstå grunderna i AEM Assets HTTP API.
  • Förstå hur innehållsfragment stöds i detta API.

Du bör fortsätta den AEM resan utan trassel genom att nästa gång du granskar dokumentet Så här sätter du samman allt - din app och ditt innehåll i AEM utan rubriker där du kommer att bekanta dig med grunderna och verktygen för AEM arkitektur som du behöver för att sätta ihop programmen.

Ytterligare resurser

På denna sida