コンテンツフラグメントコンテンツとAEM Assets REST API のヘッドレス配信に GraphQL API を使用して、コンテンツフラグメントを管理する方法を説明します。
この機能の一部はプレリリースチャネルで利用できます。 特に、持続クエリに関連する機能です。
詳しくは、 プレリリースチャネルドキュメント を参照してください。
コンテンツフラグメントはいくつか作成したので、AEM API を使用してそれらをヘッドレスで配信できます。
このガイドの残りの部分では、GraphQL へのアクセスとコンテンツフラグメントの配信について説明します。
GraphQL API を使用する前に、GraphQL エンドポイントを作成する必要があります。
に移動します。 ツール, 一般を選択し、「 GraphQL.
「作成」を選択します。
新しい GraphQL エンドポイントを作成 ダイアログが開きます。以下を指定します。
「作成」で確認します。
コンソールで、 パス これで、前に作成した設定に基づいてが表示されます。 GraphQL クエリの実行に使用されるパスです。
/content/cq:graphql/<configuration-name>/endpoint
有効化の詳細 GraphQL エンドポイントは、こちらを参照してください.
情報アーキテクトは、コンテンツを配信するために、チャネルエンドポイント用のクエリを設計する必要があります。一般に、これらのクエリは、モデルやエンドポイントごとに 1 回だけ作成する必要があります。この「はじめる前に」ガイドの目的上、1 つだけ作成します。
GraphiQL は、AEM環境にインストールできる IDE です。 次の手順に従います。 GraphiQL IDE の使用 をAEM環境にインストールする場合。
AEM as a Cloud Service にログインし、GraphiQL インターフェイスにアクセスします。
クエリエディターには、次のいずれかからアクセスできます。
http://localhost:4502/aem/graphiql.html
GraphiQL IDE は、GraphQL 用のブラウザー内クエリエディターです。 これを使用してクエリを作成し、コンテンツフラグメントを取得して JSON としてヘッドレスに配信できます。
作成したモデルが person
で firstName
、lastName
、position
の各フィールドを持つ場合は、単純なクエリを構築して、コンテンツフラグメントのコンテンツを取得できます。
query
{
personList {
items {
_path
firstName
lastName
position
}
}
}
左側のパネルにクエリを入力します。
「クエリを実行」ボタンをクリックするか Ctrl-Enter
ホットキーを使用すると、結果が JSON として右側のパネルに表示されます。
ページの右上にあるドキュメントリンクをクリックすると、文脈依存ドキュメントが表示され、独自のモデルに適合するクエリの構築に役立ちます。
GraphQL を使用すると、特定のデータセットや個々のデータオブジェクトだけでなく、オブジェクトの特定の要素、ネストされた結果、クエリ変数のオファーサポートなどをターゲットできる構造化クエリが可能です。
GraphQL では、反復的な API リクエストと過剰な配信を回避でき、代わりに単一の API クエリに対するレンダリングに必要なものを一括配信できます。結果の JSON を使用して、他のサイトやアプリにデータを配信できます。
これで作業は完了です。AEM のヘッドレスコンテンツ管理に関する基本的な内容を説明しました。もちろん、利用可能な機能の包括的な理解を深めるためのリソースは他にもたくさんあります。