構造化コンテンツの配信と管理用の AEM API aem-apis-structured-content-delivery-and-management

Adobe Experience Manager(AEM)as a Cloud Service では、コンテンツフラグメントからの構造化コンテンツ配信とコンテンツフラグメント管理の両方に対して複数の API を提供します。特定の API について詳しくは、個々のページを参照してください。

REST と GraphQL rest-vs-graphql

使用する API は、開発者が決定します。AEM は両方をサポートしています。

オンラインで多くの比較が使用可能ですが、REST のハイライトとメリットは次のとおりです。

  • シンプルさ

    • 開発者は(多くの場合)HTTP と REST に精通しています。Postman の API の現状レポートによると、REST を使用している開発者の割合が高くなっています。

    • シンプルさには、親しみやすさが伴います。REST では、クエリの所有者やアプリの所有者に関する組織的な質問は発生しませんが、GraphQL ではこれらの質問が発生する可能性があります。

    • 親しみやすさには(通常)幅広いコミュニティとツール環境が伴います。これは GraphQL 固有の欠点ではありませんが、REST ではより広範囲かつ奥深いものとなる可能性があります。

    • また、アプローチがシンプルになると、セキュリティの実装も簡単になります。REST では、レンダリングするコンテンツを決定するフィルタリングはすべてクライアントアプリで実行されます。GraphQL では、これはクライアントとサーバーの間のスキーマベースのクエリで行われます。

  • 柔軟性

    • REST を使用すると、開発者は任意のリソースを GET できます。GraphQL を使用すると、スキーマ内で定義されたリソースに制限されます。
  • キャッシュ

    • REST GET リクエストに対する JSON 応答は、本質的にキャッシュ可能です。GraphQL POST リクエストは、サーバー上に保存され、REST のような GET リクエストでリクエストされる AEM 永続クエリを使用するなどしてキャッシュ可能にしない限り、キャッシュできません。

GraphQL のメリットは次のとおりです。

  • コンテンツ配信の効率

    • フォーカス

      • GraphQL を使用すると、クライアントアプリケーションは、レンダリングに必要な正確なコンテンツをリクエストできますが、それ以上のリクエストは必要ありません。このアプローチにより、過度のコンテンツペイロードや不要な帯域幅の消費によるコンテンツの過剰配信が防止されます。
    • 単一のエンドポイント

      • REST ではすべての API リクエストがエンドポイントですが、GraphQL では共通のエンドポイントは 1 つだけで、様々なコンテンツリクエストはその共通のエンドポイントを使用するクエリとして表現されます。
  • 迅速なプロトタイプ作成

    • GraphQL では、これが GraphQL クエリに統合された 1 ステップのプロセスとなり、プロトタイプ作成が簡単になります。一方、REST は 2 ステップのプロセスです。

      1. API を使用してコンテンツを取得します。
      2. JSON 応答で、クライアントアプリでのレンダリングに使用する内容を決定します。
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab