在 AEM無頭開發者歷程, 了解如何使用REST API存取及更新內容片段的內容。
在AEM無頭歷程的上一份檔案中, 如何透過AEM傳送API存取您的內容 您已了解如何透過AEM GraphQL API存取AEM中的無周邊內容,您現在應:
本文以這些基本知識為基礎,讓您了解如何透過REST API更新AEM中現有的無頭內容。
在無周邊歷程的上一階段,您已了解如何使用AEM GraphQL API來使用查詢擷取內容。
那麼,為何還需要其他API呢?
Assets HTTP API不允許您 閱讀 您的內容,但也可讓您 建立, 更新 和 刪除 內容 — GraphQL API無法執行的動作。
最新Adobe Experience Manager版本的每個現成可用安裝都提供Assets REST API。
資產HTTP API包含:
Assets HTTP API目前的實作是以 REST 架構樣式,並可讓您透過 CRUD 操作(建立、讀取、更新、刪除)。
透過這些操作,API可讓您將Adobe Experience Manager作為無頭CMS(內容管理系統)來運作,方法是向JavaScript前端應用程式提供內容服務。 或可執行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例項上的Dispatcher設定可能會封鎖 /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 Developer Journey的這一部分,您應:
您應繼續進行AEM無頭歷程,繼續檢閱此檔案 如何與無頭應用程式一起運行 您實際將AEM Headless專案上線的位置!