API リクエストの作成 - ヘッドレス設定 accessing-delivering-content-fragments
コンテンツフラグメントコンテンツと AEM Assets REST API のヘッドレス配信に GraphQL API を使用して、コンテンツフラグメントを管理する方法を説明します。
GraphQL API と Assets REST API とは what-are-the-apis
コンテンツフラグメントはいくつか作成したので、AEM API を使用してそれらをヘッドレスで配信できます。
- GraphQL API を使用すると、コンテンツフラグメントにアクセスして配信するリクエストを作成できます。この API は、コンテンツフラグメントコンテンツのクエリと使用に最も堅牢な機能セットを提供します。
- API を使用するには、エンドポイントを AEM で定義して有効にし、必要に応じて GraphiQL インターフェイスをインストールします。
- アセット REST API を使用すると、コンテンツフラグメント(およびその他のアセット)を作成および変更できます。
このガイドの残りの部分では、GraphQL へのアクセスとコンテンツフラグメントの配信について説明します。
GraphQL エンドポイントの有効化 enable-graphql-endpoint
GraphQL API を使用する前に、GraphQL エンドポイントを作成する必要があります。
-
ツール/一般 に移動し、「GraphQL」を選択します。
-
「作成」を選択します。
-
新しい GraphQL エンドポイントを作成 ダイアログボックスが開きます。以下を指定します。
- 名前:エンドポイントの名前。任意のテキストを入力できます。
- 使用する GraphQL スキーマの提供元:ドロップダウンリストを使用して、必要な設定を選択します。
-
「作成」で確定します。
-
コンソールで、前に作成した設定に基づいて、パス が表示されます。このパスを使用して、GraphQLクエリを実行します。
code language-none /content/cq:graphql/<configuration-name>/endpoint
GraphQL と GraphiQL を使用したクエリコンテンツ
情報アーキテクトは、チャネルエンドポイントがコンテンツを配信するためのクエリを設計します。これらのクエリは、エンドポイントごと、モデルごとに 1 回だけ検討してください。この入門ガイドでは、作成する必要があるのは 1 つだけです。
GraphiQL は IDE であり、AEM 環境に含まれています。エンドポイントを設定した後、アクセス可能になり表示されます。
-
AEM as a Cloud Service にログインし、GraphiQL インターフェイスにアクセスします。
クエリエディターには、次のいずれかの方法でアクセスできます。
- ツール/一般/GraphQL クエリエディター
- 直接アクセス(例:
http://localhost:4502/aem/graphiql.html
)
-
GraphiQL は、GraphQL のブラウザー内のクエリエディターです。クエリを作成して、コンテンツフラグメントを取得し、それらを JSON としてヘッドレスに配信できます。
- ドロップダウンの右上を使用すると、エンドポイントを選択できます。
- 左端のパネルには、永続クエリが表示されます(使用可能な場合)。
- 左中央のパネルでは、クエリを作成できます。
- 右中央のパネルには、結果が表示されます。
- クエリエディターは、コード補完機能とホットキーを備えており、クエリを簡単に実行できます。
-
作成したモデルが
person
でfirstName
、lastName
、position
の各フィールドを持つ場合は、単純なクエリーを構築して、コンテンツフラグメントのコンテンツを取得できます。code language-text query { personList { items { _path firstName lastName position } } }
-
左パネルにクエリを入力します。
-
「クエリを実行」ボタンをクリックするか
Ctrl-Enter
ホットキーを使用すると、結果が JSON として右側のパネルに表示されます。
-
ページの右上隅にある ドキュメント リンクをクリックすると、コンテキスト内のドキュメントが表示され、独自のモデルに適応するクエリを作成できます。
GraphQL を使用すると、特定のデータセットや個々のデータオブジェクトをターゲットにするだけでなく、オブジェクトの特定の要素、ネストされた結果を配信したり、クエリ変数のサポートを提供したりできる構造化クエリが可能になります。
GraphQL では、反復的な API リクエストと過剰な配信を回避でき、代わりに単一の API クエリへの応答としてレンダリングに必要なものを正確に一括配信できます。結果の JSON を使用して、他のサイトやアプリにデータを配信できます。
次の手順 next-steps
これで作業は完了です。AEM のヘッドレスコンテンツ管理に関する基本的な内容を説明しました。利用可能な機能の包括的な理解を深めるためのリソースは他にもたくさんあります。
- コンテンツフラグメント - コンテンツフラグメントの作成と管理に関する詳細
- AEM Assets HTTP API でサポートされるコンテンツフラグメント - CRUD 操作(作成、読み取り、更新、削除)を介して HTTP API 経由で直接 AEM コンテンツにアクセスする方法の詳細
- GraphQL API - コンテンツフラグメントをヘッドレスで配信する方法の詳細