如何通過AEM AssetsAPI更新您的內容

無AEM頭開發者之旅, 瞭解如何使用REST API訪問和更新內容片段的內容。

到目前為止的故事

在前一篇無頭旅AEM程中, 如何通過交付API訪AEM問內容 您已經學會了如何通過AEMAEMGraphQL API訪問您的無頭內容,您現在應:

  • 對GraphQL有深入的瞭解。
  • 瞭解AEMGraphQL API的工作原理。
  • 瞭解一些實用的示例查詢。

本文基於這些基礎知識,因此您可以瞭解如何通過REST API更新AEM現有無頭內容。

目標

  • 觀眾:高級
  • 目標:瞭解如何使用REST API訪問和更新內容片段的內容:
    • 介紹AEM AssetsHTTP API。
    • 介紹並討論API中的內容片段支援。
    • 說明API的詳細資訊。

為什麼需要內容片段的資產HTTP API

在「無頭之旅」的上一階段,您學習了使用AEMGraphQL API使用查詢檢索內容。

那麼,為什麼需要另一個API?

資產HTTP API允許您 閱讀 您的內容,但它還允許您 建立更新刪除 內容 — GraphQL API不能執行的操作。

Assets REST API可用於最新Adobe Experience Manager as a Cloud Service版本的每個出廠安裝。

Assets HTTP API

資產HTTP API包括:

  • 資產REST API
  • 包括對內容片段的支援

Assets HTTP API的當前實現基於 休息 體系結構樣式,使您能夠通過 克魯德 操作(建立、讀取、更新、刪除)。

通過這些操作, API允許您通過向JavaScript前端應用程式提供內容服務,將Adobe Experience Manager as a Cloud Service作為無頭CMS(內容管理系統)進行操作。 或可以執行HTTP請求和處理JSON響應的任何其他應用程式。 例如,單頁應用程式(SPA)、基於框架或自定義,需要通過API提供內容,通常採用JSON格式。

資產HTTP API和內容片段

內容片段用於無頭傳遞,而內容片段是一種特殊類型的資產。 它們用於訪問結構化資料,如文本、數字、日期等。

使用資產REST API

存取

資產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 要求使用 .model 選擇器。

操作

HTTP方法確定要執行的操作:

  • GET — 檢索資產或資料夾的JSON表示法
  • POST — 建立新資產或資料夾
  • PUT — 更新資產或資料夾的屬性
  • DELETE — 刪除資產或資料夾
注意

請求正文和/或URL參數可用於配置其中的一些操作;例如,定義資料夾或資產應由 POST 請求。

支援的請求的確切格式在API參考文檔中定義。

使用情況可能會因您使用的是作者還是AEM發佈環境以及您的特定使用案例而異。

  • 強烈建議將建立綁定到作者實例(目前沒有方法使用此API複製要發佈的片段)。

  • 可從兩者進行傳遞,因AEM為僅以JSON格式提供請求的內容。

    • 從作者實例AEM進行儲存和傳遞應足以滿足防火牆後的媒體庫應用程式。

    • 對於即時Web交AEM付,建議使用發佈實例。

注意

雲實例上的調AEM度程式配置可能會阻止 /api

注意

有關詳細資訊,請參閱API參考。 特別是, Adobe Experience Manager資產API — 內容片段

讀取/傳遞

用法:

GET /{cfParentPath}/{cfName}.json

例如:

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

響應是以內容片段中的結構化內容進行序列化的JSON。 引用作為引用URL傳遞。

有兩種讀操作:

  • 按路徑讀取特定內容片段,這將返回內容片段的JSON表示。
  • 按路徑讀取內容片段的資料夾:這將返回資料夾內所有內容片段的JSON表示法。

建立

用法:

POST /{cfParentPath}/{cfName}

主體必須包含要建立的內容片段的JSON表示法,包括應在內容片段元素上設定的任何初始內容。 必須設定 cq:model 屬性,並且它必須指向有效的內容片段模型。 如果無法執行此操作,將導致錯誤。 還需要添加標題 Content-Type 設定為 application/json

更新

使用是通過

PUT /{cfParentPath}/{cfName}

主體必須包含為給定內容片段更新的內容的JSON表示。

這可以只是內容片段、單個元素或所有元素值和/或元資料的標題或說明。

刪除

用法:

DELETE /{cfParentPath}/{cfName}

有關使用AEM AssetsREST API的詳細資訊,可參考:

  • Adobe Experience Manager資產HTTP API(附加資源)
  • AEM AssetsHTTP API中的內容片段支援(其他資源)

下一步是什麼

現在,您已完成了「無頭開發AEM者之旅」的這一部分,您應:

  • 瞭解AEM AssetsHTTP API的基礎知識。
  • 瞭解此API中如何支援內容片段。

您應繼續無AEM頭之旅,下次查看文檔 如何與無頭應用程式一起生活 讓你的"無頭AEM計畫"實現!

其他資源

本頁內容