在 AEM Headless开发人员历程, 了解如何使用REST API访问和更新内容片段的内容。
在AEM无头历程的上一个文档中, 如何通过AEM交付API访问您的内容 您学习了如何通过AEM GraphQL API在AEM中访问无头内容,现在应该:
本文基于这些基础知识,以便您了解如何通过REST API在AEM中更新现有的无头内容。
在无头历程的上一步中,您了解了如何使用AEM GraphQL API来使用查询检索内容。
那么,为何需要其他API?
资产HTTP API允许您 读取 您的内容,但它也允许您 创建, 更新 和 删除 内容 — GraphQL API无法执行的操作。
在最新Adobe Experience Manager版本的每次现成安装中,都提供Assets REST API。
资产HTTP API包括:
资产HTTP API的当前实施基于 REST 架构样式,并允许您通过 CRUD 操作(创建、读取、更新、删除)。
通过这些操作,API允许您通过向JavaScript前端应用程序提供内容服务,将Adobe Experience Manager作为无头CMS(内容管理系统)进行操作。 或任何可以执行HTTP请求并处理JSON响应的其他应用程序。 例如,单页应用程序(SPA)(基于框架或自定义)需要通过API提供的内容,通常采用JSON格式。
内容片段用于无标题交付,而内容片段是一种特殊类型的资产。 它们用于访问结构化数据,例如文本、数字、日期等。
资产REST API使用 /api/assets
端点,并且需要资产的路径才能访问该资产(不具有前导 /content/dam
)。
/content/dam/path/to/asset
/api/assets/path/to/asset
例如,要访问 /content/dam/wknd/en/adventures/cycling-tuscany
,请求 /api/assets/wknd/en/adventures/cycling-tuscany.json
访问:
/api/assets
不 需要使用 .model
选择器。/content/path/to/page
does 要求使用 .model
选择器。HTTP方法确定要执行的操作:
请求正文和/或URL参数可用于配置其中的一些操作;例如,定义文件夹或资产应由 POST 请求。
支持的请求的确切格式在API引用文档中定义。
用法可能因您使用的是AEM创作环境还是发布环境以及特定用例而异。
强烈建议将创建绑定到创作实例(并且当前没有方法使用此API复制片段以发布)。
可以同时从两者进行交付,因为AEM仅以JSON格式提供请求的内容。
从AEM创作实例进行存储和交付应足以在防火墙后部署媒体库应用程序。
对于实时Web交付,建议使用AEM发布实例。
AEM实例上的调度程序配置可能会阻止访问 /api
.
有关更多详细信息,请参阅API引用。 特别是, Adobe Experience Manager Assets API — 内容片段.
用法包括:
GET /{cfParentPath}/{cfName}.json
例如:
http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json
响应将以内容片段中的结构化进行序列化JSON。 引用作为引用URL提供。
可以执行两种类型的读取操作:
用法包括:
POST /{cfParentPath}/{cfName}
主体必须包含要创建的内容片段的JSON表示形式,包括应在内容片段元素中设置的任何初始内容。 必须将 cq:model
属性,且必须指向有效的内容片段模型。 如果不这样做,则会导致错误。 还需要添加标头 Content-Type
将设置为 application/json
.
使用方式为
PUT /{cfParentPath}/{cfName}
正文必须包含要为给定内容片段更新内容的JSON表示形式。
这可以只是内容片段、单个元素或所有元素值和/或元数据的标题或描述。
用法包括:
DELETE /{cfParentPath}/{cfName}
有关使用AEM Assets REST API的更多详细信息,您可以引用:
现在,您已完成AEM Headless开发人员历程的这一部分,接下来您应该:
您应该通过下一步审阅文档来继续您的AEM无头历程 如何使用您的无头应用程序 您实际将AEM Headless项目上线!