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 は、AEM環境にインストールできる IDE です。 次の手順に従います。 GraphiQL IDE の使用 をAEM環境にインストールする場合。

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

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

    • ツール -> 一般 -> GraphQL クエリエディター
    • 直接例: http://localhost:4502/aem/graphiql.html
  2. GraphiQL IDE は、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 のヘッドレスコンテンツ管理に関する基本的な内容を説明しました。もちろん、利用可能な機能の包括的な理解を深めるためのリソースは他にもたくさんあります。

このページ