API リクエストの作成 - ヘッドレス設定 accessing-delivering-content-fragments

コンテンツフラグメントコンテンツと AEM Assets REST API のヘッドレス配信に GraphQL API を使用して、コンテンツフラグメントを管理する方法を説明します。

GraphQL API と Assets REST API とは what-are-the-apis

コンテンツフラグメントはいくつか作成したので、AEM API を使用してそれらをヘッドレスで配信できます。

このガイドの残りの部分では、GraphQL へのアクセスとコンテンツフラグメントの配信について説明します。

GraphQL エンドポイントの有効化 enable-graphql-endpoint

GraphQL API を使用する前に、GraphQL エンドポイントを作成する必要があります。

  1. ツール一般 に移動し、「GraphQL」を選択します。

  2. 作成」を選択します。

  3. 新しい GraphQL エンドポイントを作成 ​ダイアログボックスが開きます。以下を指定します。

    • 名前:エンドポイントの名前。任意のテキストを入力できます。
    • 使用する GraphQL スキーマの提供元:ドロップダウンリストを使用して、必要な設定を選択します。
  4. 作成」で確定します。

  5. コンソールで、前に作成した設定に基づいて、パス ​が表示されます。このパスを使用して、GraphQLクエリを実行します。

    code language-none
    /content/cq:graphql/<configuration-name>/endpoint
    

GraphQL エンドポイントの有効化について詳しくは、こちらを参照してください

GraphQL と GraphiQL を使用したクエリコンテンツ

情報アーキテクトは、チャネルエンドポイントがコンテンツを配信するためのクエリを設計します。これらのクエリは、エンドポイントごと、モデルごとに 1 回だけ検討してください。この入門ガイドでは、作成する必要があるのは 1 つだけです。

GraphiQL は IDE であり、AEM 環境に含まれています。エンドポイントを設定した後、アクセス可能になり表示されます。

  1. AEM as a Cloud Service にログインし、GraphiQL インターフェイスにアクセスします。

    クエリエディターには、次のいずれかの方法でアクセスできます。

    • ツール一般GraphQL クエリエディター
    • 直接アクセス(例:http://localhost:4502/aem/graphiql.html
  2. GraphiQL は、GraphQL のブラウザー内のクエリエディターです。クエリを作成して、コンテンツフラグメントを取得し、それらを JSON としてヘッドレスに配信できます。

    • ドロップダウンの右上を使用すると、エンドポイントを選択できます。
    • 左端のパネルには、永続クエリが表示されます(使用可能な場合)。
    • 左中央のパネルでは、クエリを作成できます。
    • 右中央のパネルには、結果が表示されます。
    • クエリエディターは、コード補完機能とホットキーを備えており、クエリを簡単に実行できます。

    GraphiQL エディター

  3. 作成したモデルが personfirstNamelastNameposition の各フィールドを持つ場合は、単純なクエリーを構築して、コンテンツフラグメントのコンテンツを取得できます。

    code language-text
    query
    {
      personList {
        items {
          _path
          firstName
          lastName
          position
        }
      }
    }
    
  4. 左パネルにクエリを入力します。
    GraphiQL クエリ

  5. クエリを実行」ボタンをクリックするか Ctrl-Enter ホットキーを使用すると、結果が JSON として右側のパネルに表示されます。
    GraphiQL の結果

  6. ページの右上隅にある​ ドキュメント リンクをクリックすると、コンテキスト内のドキュメントが表示され、独自のモデルに適応するクエリを作成できます。
    GraphiQL ドキュメント

GraphQL を使用すると、特定のデータセットや個々のデータオブジェクトをターゲットにするだけでなく、オブジェクトの特定の要素、ネストされた結果を配信したり、クエリ変数のサポートを提供したりできる構造化クエリが可能になります。

GraphQL では、反復的な API リクエストと過剰な配信を回避でき、代わりに単一の API クエリへの応答としてレンダリングに必要なものを正確に一括配信できます。結果の JSON を使用して、他のサイトやアプリにデータを配信できます。

次の手順 next-steps

これで作業は完了です。AEM のヘッドレスコンテンツ管理に関する基本的な内容を説明しました。利用可能な機能の包括的な理解を深めるためのリソースは他にもたくさんあります。

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab