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

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

GraphQL API と Assets REST API とは

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

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

GraphQL エンドポイントの有効化

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

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

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

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

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

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

    /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 の各フィールドを持つ場合は、単純なクエリを構築して、コンテンツフラグメントのコンテンツを取得できます。

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

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

  6. ページの右上にある​ドキュメントリンクをクリックすると、文脈依存ドキュメントが表示され、独自のモデルに適合するクエリの構築に役立ちます。
    GraphiQL ドキュメント

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

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

次の手順

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

このページ