JSS GraphQL API
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore JavaScriptレンダリングSDK (JSS) は、GraphQLを使用したデータのクエリと更新を容易にするGraphQLサービスとクライアントを提供します。
JSSプロジェクトを作成するためのSitecore提供のツールを使用してアプリケーションを設定するときに、GraphQLの使用を選択できます。
GraphQLが機能するには、接続モード、ヘッドレス接続モード、または統合モードが必要です。切断モードを使用する場合、切断された開発サーバーはRESTサービスのみをエミュレートするため、アプリケーションのサービス ファクトリはRESTサービスを返す必要があります。
GraphQLクエリに使用できるデータ
GraphQLを使用して、次のタイプのデータをフェッチできます。
-
JSS Layout APIが提供するGraphQL Layout Serviceを使用したレイアウトデータ。
-
JSS Dictionary APIが提供するGraphQL Dictionary Serviceを使用したディクショナリデータ。
JSS for the Next.jsを使用している場合、サンプル アプリケーションはGraphQL Sitemap Serviceを利用して、Next.jsアプリを静的に生成およびエクスポートするときにSitecore GraphQL APIを使用してサイト ページのリストをフェッチします。
GraphQLエンドポイント
JSSアプリケーションは、次のGraphQLエンドポイントを使用できます。
-
Sitecore Experience Edge for XM GraphQLエンドポイント。読み取り専用のGraphQLスキーマが付属しており、ヘッドレスSitecore開発の一般的なフロントエンドのユースケースに対応するように設計されています。Experience Edgeスキーマについてお読みください。
-
Sitecore Edgeプレビュー GraphQLエンドポイントは、ヘッドレス サービスによって提供され、Experience EdgeスキーマをミラーリングするSitecore上のGraphQLサーバーの実装です。
-
Sitecore GraphQLエンドポイントは、JSS Server Componentsによって導入された史上初のSitecore GraphQLエンドポイント、またはSitecore GraphQL APIで作成されたカスタム エンドポイントです。
構成
Sitecoreが提供するJSSプロジェクトを作成するためのツールを使用してJSSアプリケーションを作成し、データ フェッチ方法としてGraphQLを選択した場合、JSSサービスはSitecore Edge Preview GraphQLエンドポイントを使用します。
アプリケーションで使用されるGraphQLエンドポイントを変更するには:
-
JSSアプリケーションのルートディレクトリ、package.jsonファイル、configマップで、graphQLEndpointPathプロパティを見つけて更新します。
JSSアプリケーションでのGraphQLの使用
JSSアプリには、GraphQLの使用に関していくつかの選択肢があります。
JSSなしで構築されたJavaScriptアプリケーションの場合と同様に、お好みのGraphQLクライアント ライブラリを使用して、Sitecore GraphQLエンドポイントに直接HTTPリクエストを送信できます。サンプルJSSアプリケーションでは、JSSアプリケーションではConnected GraphQLと呼ばれます。
もう1つのオプションは、JSSアプリでIntegrated GraphQLを使用することです。ここでは、クエリはLayout Serviceエンドポイント内で実行され、クエリ結果はLayout Serviceのレスポンスで返されるJSONデータにマージされます。
このコンテキストでのconnectedとintegratedという用語は、アプリケーション モードと何らかの関係があるdo not。