在 無AEM頭開發者之旅, 瞭解如何使用REST API訪問和更新內容片段的內容。
在前一篇無頭旅AEM程中, 如何通過交付API訪AEM問內容 您已經學會了如何通過AEMAEMGraphQL API訪問您的無頭內容,您現在應:
本文基於這些基礎知識,因此您可以瞭解如何通過REST API更新AEM現有無頭內容。
在「無頭之旅」的上一階段,您學習了使用AEMGraphQL API使用查詢檢索內容。
那麼,為什麼需要另一個API?
資產HTTP API允許您 閱讀 您的內容,但它還允許您 建立。 更新 和 刪除 內容 — GraphQL API不能執行的操作。
Assets REST API可用於最新Adobe Experience Manager as a Cloud Service版本的每個出廠安裝。
資產HTTP API包括:
Assets HTTP API的當前實現基於 休息 體系結構樣式,使您能夠通過 克魯德 操作(建立、讀取、更新、刪除)。
通過這些操作, API允許您通過向JavaScript前端應用程式提供內容服務,將Adobe Experience Manager as a Cloud Service作為無頭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
是 要求使用 .model
選擇器。HTTP方法確定要執行的操作:
請求正文和/或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傳遞。
有兩種讀操作:
用法:
POST /{cfParentPath}/{cfName}
主體必須包含要建立的內容片段的JSON表示法,包括應在內容片段元素上設定的任何初始內容。 必須設定 cq:model
屬性,並且它必須指向有效的內容片段模型。 如果無法執行此操作,將導致錯誤。 還需要添加標題 Content-Type
設定為 application/json
。
使用是通過
PUT /{cfParentPath}/{cfName}
主體必須包含為給定內容片段更新的內容的JSON表示。
這可以只是內容片段、單個元素或所有元素值和/或元資料的標題或說明。
用法:
DELETE /{cfParentPath}/{cfName}
有關使用AEM AssetsREST API的詳細資訊,可參考:
現在,您已完成了「無頭開發AEM者之旅」的這一部分,您應:
您應繼續無AEM頭之旅,下次查看文檔 如何與無頭應用程式一起生活 讓你的"無頭AEM計畫"實現!