Come aggiornare il contenuto utilizzando le API di AEM Assets. update-your-content

In questa parte del Percorso per sviluppatori headless di AEM, scopri come utilizzare l’API REST per accedere e aggiornare il contenuto dei frammenti di contenuto.

Percorso affrontato finora story-so-far

Nel documento precedente del percorso headless di AEM, Come accedere ai contenuti utilizzando API di distribuzione di AEM hai imparato ad accedere ai contenuti headless in AEM utilizzando l’API GraphQL AEM e ora dovresti:

  • Conoscere GraphQL ad alto livello.
  • Sapere come funziona l’API GraphQL di AEM.
  • Comprendere alcune query pratiche di esempio.

Questo articolo si basa su questi elementi fondamentali per comprendere come aggiornare il contenuto headless esistente in AEM utilizzando l’API REST.

Obiettivo objective

  • Pubblico: avanzato

  • Obiettivo: scopri come utilizzare l’API REST per accedere e aggiornare il contenuto dei frammenti di contenuto:

    • introduzione all’API HTTP di AEM Assets.
    • Introduzione e discussione sul supporto per i frammenti di contenuto nell’API.
    • Illustrazione dei dettagli dell’API.

Perché è necessaria l’API HTTP delle risorse per i frammenti di contenuto why-http-api

Nella fase precedente del Percorso Headless, hai imparato a usare l’API GraphQL di AEM per recuperare il contenuto utilizzando le query.

Allora perché è necessaria un'altra API?

L’API HTTP di Assets consente di: Letto contenuti, ma consente anche di: Crea, Aggiorna e Elimina content: azioni che non sono possibili con l’API di GraphQL.

L’API REST di Assets è disponibile su ogni installazione predefinita di una versione recente di Adobe Experience Manager.

API HTTP di Assets assets-http-api

L’API HTTP di Assets include:

  • API REST di Assets
  • incluso il supporto per i frammenti di contenuto

L’implementazione corrente dell’API HTTP di Assets si basa sullo stile architettonico REST e consente di accedere ai contenuti (memorizzati in AEM) utilizzando operazioni CRUD (Create (Crea), Read (Leggi), Update (Aggiorna) e Delete (Elimina)).

Con queste operazioni l’API consente di utilizzare Adobe Experience Manager come CMS (Content Management System) headless fornendo Content Services a un’applicazione front-end JavaScript. O qualsiasi altra applicazione in grado di eseguire richieste HTTP e gestire risposte JSON. Ad esempio, le applicazioni a pagina singola (SPA), basate su framework o personalizzate, richiedono il contenuto fornito tramite un’API, spesso in formato JSON.

API HTTP di Assets e frammenti di contenuto assets-http-api-content-fragments

I frammenti di contenuto vengono utilizzati per la distribuzione headless e un frammento di contenuto è un tipo speciale di risorsa. Vengono utilizzati per accedere a dati strutturati, tra cui testi, numeri, date.

Utilizzo dell’API REST di Assets using-aem-assets-rest-api

Accesso access

L’API REST di Assets utilizza l’/api/assets endpoint e richiede il percorso della risorsa per accedervi (senza l’iniziale /content/dam).

  • Ciò significa che per accedere alla risorsa in:
    • /content/dam/path/to/asset
  • è necessario richiedere:
    • /api/assets/path/to/asset

Ad esempio, per accedere a /content/dam/wknd/en/adventures/cycling-tuscany, richiedi /api/assets/wknd/en/adventures/cycling-tuscany.json

NOTE
l’accesso a:
  • /api/assets non è necessario l’uso del selettore .model.
  • /content/path/to/page richiede l’uso del selettore .model.

Operazione operation

Il metodo HTTP determina l’operazione da eseguire:

  • GET: per recuperare una rappresentazione JSON di una risorsa o di una cartella
  • POST: per creare nuove risorse o cartelle
  • PUT: per aggiornare le proprietà di una risorsa o di una cartella
  • DELETE: per eliminare una risorsa o una cartella
NOTE
Il corpo della richiesta e/o i parametri URL possono essere utilizzati per configurare alcune di queste operazioni; ad esempio, definisci che una cartella o una risorsa debbano essere create da una richiesta POST.

Il formato esatto delle richieste supportate è definito nella documentazione di riferimento API.

L’utilizzo può variare a seconda che utilizzi un ambiente di authoring o pubblicazione di AEM, insieme al tuo caso d’uso specifico.

  • Si consiglia vivamente di associare la creazione a un’istanza di authoring (e al momento non esiste alcun modo per replicare un frammento da pubblicare utilizzando questa API).

  • La distribuzione è possibile da entrambi, in quanto AEM fornisce il contenuto richiesto solo in formato JSON.

    • L’archiviazione e la consegna da un’istanza di authoring AEM dovrebbero essere sufficienti per le applicazioni di librerie multimediali dietro il firewall.

    • Per la distribuzione web live, si consiglia un’istanza di pubblicazione AEM.

CAUTION
La configurazione del dispatcher sulle istanze AEM potrebbe bloccare l’accesso a /api.
NOTE
Per ulteriori dettagli, consulta la Guida di riferimento API. In particolare, API di Adobe Experience Manager Assets - Frammenti di contenuto.

Lettura/consegna read-delivery

L’utilizzo avviene tramite:

GET /{cfParentPath}/{cfName}.json

Esempio:

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

La risposta viene serializzata JSON con il contenuto strutturato come nel frammento di contenuto. I riferimenti vengono consegnati come URL di riferimento.

Sono possibili due tipi di operazioni di lettura:

  • Quando si legge un frammento di contenuto specifico in base al percorso, viene restituita la rappresentazione JSON del frammento di contenuto.
  • Lettura di una cartella di frammenti di contenuto in base al percorso: restituisce le rappresentazioni JSON di tutti i frammenti di contenuto all’interno della cartella.

Creare create

L’utilizzo avviene tramite:

POST /{cfParentPath}/{cfName}

Il corpo deve contenere una rappresentazione JSON del frammento di contenuto da creare, incluso qualsiasi contenuto iniziale da impostare sugli elementi del frammento di contenuto. È obbligatorio impostare la proprietà cq:model e deve puntare a un modello di frammento di contenuto valido. In caso contrario si verifica un errore. È inoltre necessario aggiungere un’intestazione Content-Type che è impostata su application/json.

Aggiornare update

L’utilizzo avviene tramite:

PUT /{cfParentPath}/{cfName}

Il corpo deve contenere una rappresentazione JSON di ciò che deve essere aggiornato per il frammento di contenuto specificato.

Può trattarsi semplicemente del titolo o della descrizione di un frammento di contenuto, di un singolo elemento o di tutti i valori e/o metadati degli elementi.

Eliminare delete

L’utilizzo avviene tramite:

DELETE /{cfParentPath}/{cfName}

Per ulteriori dettagli sull’utilizzo dell’API REST di AEM Assets, puoi fare riferimento a:

  • API HTTP di Adobe Experience Manager Assets (risorse aggiuntive)
  • Supporto dei frammenti di contenuto nell’API HTTP di AEM Assets (risorse aggiuntive)

Passaggio successivo whats-next

Ora che hai completato questa parte del percorso per sviluppatori headless di AEM, dovresti:

  • Scopri le nozioni di base dell’API HTTP di AEM Assets.
  • Scopri in che modo i frammenti di contenuto sono supportati in questa API.

Dovresti continuare il tuo percorso headless AEM rivedendo il documento successivamente Come utilizzare l'applicazione headless dove puoi portare in diretta il tuo progetto AEM Headless!

Risorse aggiuntive additional-resources

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2