AEM Assets REST API を使用して、コンテンツフラグメントと、コンテンツフラグメントコンテンツのヘッドレス配信用の GraphQL API を管理する方法について説明します。
コンテンツフラグメントはいくつか作成したので、AEM API を使用してそれらをヘッドレスで配信できます。
このガイドの残りの部分では、GraphQL へのアクセスとコンテンツフラグメントの配信について説明します。
情報アーキテクトは、コンテンツを配信するために、チャネルエンドポイント用のクエリを設計する必要があります。一般に、これらのクエリは、モデルやエンドポイントごとに 1 回だけ作成する必要があります。この「はじめる前に」ガイドの目的上、1 つだけ作成します。
AEM にログインし、GraphiQL インターフェイスにアクセスします。
https://<host>:<port>/content/graphiql.html
GraphiQL は、GraphQL のブラウザー内のクエリエディターです。クエリを構築して、コンテンツフラグメントを取得し、それらを JSON としてヘッドレスに配信できます。
作成したモデルが person
で firstName
、lastName
、position
の各フィールドを持つ場合は、単純なクエリを構築して、コンテンツフラグメントのコンテンツを取得できます。
query
{
personList {
items {
_path
firstName
lastName
position
}
}
}
左側のパネルにクエリを入力します。
「クエリを実行」ボタンをクリックするか Ctrl-Enter
ホットキーを使用すると、結果が JSON として右側のパネルに表示されます。
以下をクリックします。
GraphQL を使用すると、特定のデータセットや個々のデータオブジェクトだけでなく、オブジェクトの特定の要素、ネストされた結果、クエリ変数のオファーサポートなどをターゲットできる構造化クエリが可能です。
GraphQL では、反復的な API リクエストと過剰な配信を回避でき、代わりに単一の API クエリに対するレンダリングに必要なものを一括配信できます。結果の JSON を使用して、他のサイトやアプリにデータを配信できます。
これで作業は完了です。AEM のヘッドレスコンテンツ管理に関する基本的な内容を説明しました。もちろん、利用可能な機能の包括的な理解を深めるためのリソースは他にもたくさんあります。