Så här uppdaterar du innehåll via AEM Assets API:er update-your-content
I den här delen av AEM Headless Developer Journeyfår du lära dig hur du använder REST API för att komma åt och uppdatera innehållet i dina innehållsfragment.
Story hittills story-so-far
I det tidigare dokumentet om AEM resa Så här kommer du åt ditt innehåll via AEM Delivery API:er 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 objective
-
Målgrupp: Avancerat
-
Mål: 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 why-http-api
I det tidigare skedet av Headless Journey lärde du dig att använda AEM GraphQL API 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äsa ditt innehåll, men du kan även använda det för att skapa, uppdatera och ta bort -innehåll - åtgärder som inte är möjliga med GraphQL API.
Assets REST API är tillgängligt för alla färdiga installationer av en nyligen använd Adobe Experience Manager-version.
ASSETS HTTP API assets-http-api
Assets HTTP API omfattar:
- ASSETS REST API
- inklusive stöd för innehållsfragment
Den aktuella implementeringen av Assets HTTP API baseras på arkitekturstilen REST och gör att du kan komma åt innehåll (som lagras i AEM) via CRUD-åtgärder (Skapa, Läs, Uppdatera, Ta bort).
Med den här åtgärden kan du använda Adobe Experience Manager som ett headless CMS (Content Management System) genom att tillhandahålla innehållstjänster till ett JavaScript front end-program. Eller något annat program som kan köra HTTP-begäranden och hantera JSON-svar. Exempelvis kräver Single Page Applications (SPA), ramverksbaserade eller anpassade, innehåll som tillhandahålls via ett API, ofta i JSON-format.
Assets HTTP API och innehållsfragment assets-http-api-content-fragments
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 Assets REST API using-aem-assets-rest-api
Åtkomst access
Assets REST API använder slutpunkten /api/assets
och kräver att resursens sökväg har åtkomst till den (utan inledande /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
Om du till exempel vill komma åt /content/dam/wknd/en/adventures/cycling-tuscany
begär du /api/assets/wknd/en/adventures/cycling-tuscany.json
/api/assets
behöver inte använda väljaren.model
./content/path/to/page
does kräver att väljaren.model
används.
Åtgärd operation
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 - om du vill ta bort en resurs eller mapp
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 starkt att skapandet är bundet till en författarinstans (och att det för närvarande inte finns något sätt att replikera ett fragment för publicering med detta 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 instans av AEM-författare bör räcka bakom brandväggen, för mediabiblioteksprogram.
-
För direktsänd webbleverans rekommenderas en publiceringsinstans från AEM.
-
/api
.Läsning/leverans read-delivery
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äser en mapp med innehållsfragment efter sökväg: Detta returnerar JSON-representationerna för alla innehållsfragment i mappen.
Skapa create
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 egenskapen cq:model
och den måste peka på en giltig innehållsfragmentmodell. Om du inte gör det kommer ett fel att uppstå. Du måste också lägga till rubriken Content-Type
som är inställd på application/json
.
Uppdatera update
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 delete
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 whats-next
Nu när du är klar med den här delen av AEM Headless Developer Journey bör du:
- Förstå grunderna i AEM Assets HTTP API.
- Förstå hur innehållsfragment stöds i detta API.
Du bör fortsätta din resa utan AEM genom att nästa gång granska dokumentet How to Go Live with Your Headless Application där du faktiskt gör ditt AEM Headless-projekt tillgängligt!
Ytterligare resurser additional-resources
- ASSETS HTTP API
- Innehållsfragment REST API
- Adobe Experience Manager Assets API - innehållsfragment
- Arbeta med innehållsfragment
- AEM Core Components
- CORS/AEM förklarar
- Video - Utveckla för CORS med AEM
- En introduktion till AEM som Headless CMS
- AEM Developer Portal
- Självstudiekurser för Headless i AEM