Dans cette partie du parcours de développement AEM découplé, découvrez comment utiliser l’API REST pour accéder au contenu de vos fragments de contenu et le mettre à jour.
Dans le document précédent du parcours découplé AEM, Comment accéder à votre contenu à l’aide des API de diffusion AEM, vous avez appris à accéder à votre contenu en mode découplé via l’API AEM GraphQL et vous devriez maintenant :
Cet article s’appuie sur ces principes de base afin que vous compreniez comment accéder au contenu découplé existant dans AEM à l’aide de l’API AEM.
À l’étape précédente du parcours en mode découplé, vous avez appris à utiliser l’API AEM GraphQL afin de récupérer votre contenu à l’aide de requêtes.
Alors pourquoi une autre API est-elle nécessaire ?
L’API HTTP Assets ne vous permet pas de Lecture votre contenu, mais il vous permet également de Créer, Mettre à jour et Supprimer content : actions qui ne sont pas possibles avec l’API GraphQL.
L’API REST Assets est disponible pour chaque installation prête à l’emploi d’une version récente d’Adobe Experience Manager as a Cloud Service.
L’API HTTP Assets englobe les éléments suivants :
L’implémentation actuelle de l’API HTTP Assets repose sur le style architectural REST et permet d’accéder au contenu (stocké dans AEM) via les opérations CRUD (Create, Read, Update, Delete) pour créer, lire, mettre à jour, supprimer.
Grâce à ces opérations, l’API vous permet d’utiliser Adobe Experience Manager as a Cloud Service en tant que système de gestion de contenu (CMS) sans interface utilisateur en fournissant Content Services à une application frontale JavaScript. Ou toute autre application pouvant exécuter des requêtes HTTP et gérer les réponses JSON. Par exemple, les applications monopages, basées sur la structure ou personnalisées, nécessitent du contenu fourni via l’API HTTP, souvent au format JSON.
Les fragments de contenu sont utilisés pour une diffusion en mode découplé. Un fragment de contenu est un type spécial de ressource. Ils permettent d’accéder aux données structurées, telles que les textes, les nombres, les dates, etc.
L’API REST Assets utilise le point d’entrée /api/assets
et nécessite le chemin d’accès de la ressource pour y accéder (sans /content/dam
en préfixe).
/content/dam/path/to/asset
/api/assets/path/to/asset
Par exemple, pour accéder à /content/dam/wknd/en/adventures/cycling-tuscany
, demandez /api/assets/wknd/en/adventures/cycling-tuscany.json
Accès via :
/api/assets
ne nécessite pas l’utilisation du sélecteur .model
./content/path/to/page
nécessite l’utilisation du sélecteur .model
.La méthode HTTP détermine l’opération à exécuter :
Le corps de la requête et/ou les paramètres URL peuvent être utilisés pour configurer certaines de ces opérations ; par exemple, spécifier qu’un dossier ou une ressource doivent être créés par une requête POST.
Le format exact des requêtes prises en charge est défini dans la documentation Référence d’API.
L’utilisation peut varier selon que vous utilisez un environnement d’auteur ou de publication AEM dans votre cas d’utilisation spécifique.
Il est vivement recommandé de lier la création à une instance d’auteur (et il n’existe actuellement aucun moyen de répliquer un fragment pour publier à l’aide de cette API).
La diffusion est possible à partir des deux, car AEM diffuse le contenu demandé au format JSON uniquement.
Le stockage et la diffusion depuis une instance de création AEM doivent suffire pour les applications de bibliothèque de médias situées derrière le pare-feu.
Pour une diffusion web en direct, une instance de publication AEM est recommandée.
La configuration du dispatcher sur les instances cloud AEM peut bloquer l’accès à /api
.
Voir la référence API API Adobe Experience Manager Assets : fragments de contenu.
Mode d’utilisation :
GET /{cfParentPath}/{cfName}.json
Par exemple :
http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json
La réponse est un JSON sérialisé avec le contenu structuré comme dans le fragment de contenu. Les références sont diffusées en tant qu’URL de référence.
Deux types d’opérations de lecture sont possibles :
Mode d’utilisation :
POST /{cfParentPath}/{cfName}
Le corps doit contenir une représentation JSON du fragment de contenu à créer, notamment tout contenu initial devant être défini sur les éléments de fragment de contenu. Il est obligatoire de définir la propriété cq:model
, qui doit pointer vers un modèle de fragment de contenu valide. Sans cela, il se produira une erreur. Il est également nécessaire d’ajouter un en-tête Content-Type
, défini sur application/json
.
Mode d’utilisation :
PUT /{cfParentPath}/{cfName}
Le corps doit contenir une représentation JSON de ce qui doit être mis à jour pour le fragment de contenu donné.
Il peut simplement s’agir du titre ou de la description d’un fragment de contenu, d’un élément unique ou de toutes les valeurs et/ou métadonnées d’un élément.
L’utilisation se fait au moyen des éléments suivants :
DELETE /{cfParentPath}/{cfName}
Pour plus d’informations sur l’utilisation de l’API REST AEM Assets, voir :
Maintenant que vous avez terminé cette partie du parcours de développement découplé AEM, vous devriez pouvoir :
Continuez votre parcours AEM découplé en consultant ensuite le document. Tout assembler - Votre application et votre contenu dans AEM découplé où vous vous familiariserez avec les principes de base de l’architecture d’AEM et les outils dont vous avez besoin pour assembler votre application.