JSS GraphQL API
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore JavaScriptレンダリングSDK(JSS)は、GraphQLとのクエリや更新を促進するためのGraphQLサービスやクライアントを提供します。
JSSプロジェクトを作成するためにSitecore提供のツールでアプリケーションを設定する際に、GraphQLを使うことができます。詳細については、jss createのJSS CLIドキュメントおよび『JSSアプリケーション開発ガイド』をご覧ください。
!重要GraphQLは動作するために接続モード、ヘッドレス接続モード、または統合モードが必要です。切断モードを使用する場合、アプリケーションのサービスファクトリーはRESTサービスを返す必要があります。なぜなら、切断された開発サーバーはRESTサービスのみをエミュレートするためです。
GraphQLクエリ用に利用可能なデータ
GraphQLを使えば、以下の種類のデータを取得できます:
- レイアウトデータ。JSSレイアウトAPIが提供するGraphQLレイアウトサービスを使用します。
- 辞書データ。JSS辞書APIが提供するGraphQL辞書サービスを利用しています。
JSS for Next.jsを使用している場合、サンプルアプリケーションはGraphQL Sitemap Serviceを利用して、Sitecore GraphQL APIを使ってサイトページのリストを取得し、Next.jsアプリを静的に生成・エクスポートします。
GraphQLのエンドポイント
JSSアプリケーションは以下のGraphQLエンドポイントを使用できます:
- Sitecore Experience Edge for XM GraphQLエンドポイントです。ヘッドレスSitecore開発の一般的なフロントエンドのユースケースに対応するために設計された読み取り専用のGraphQLスキーマが付属しています。Experience Edgeスキーマについてお読みください。
- Sitecore Edge Preview GraphQLエンドポイントはHeadless Servicesが提供しており、Sitecoreの上にGraphQLサーバーを搭載し、Experience Edgeスキーマをミラーリングしています。
- Sitecore GraphQL Endpointは、JSS Server Componentsによって導入された初のSitecore GraphQLエンドポイント、またはSitecore GraphQL APIで作成されたカスタムエンドポイントです。
構成
Sitecore提供されているツールのいずれかでJSSプロジェクトを作成するためのツールでJSSアプリケーションを作成し、--fetchWith GraphQLパラメータを使用した場合、JSSサービスはSitecore Edge Preview GraphQLエンドポイントを使用します。
アプリケーションで使用されるGraphQLエンドポイントを変更するには:
- JSSアプリケーションのルートディレクトリ、 package.json ファイルの config マップで、 graphQLEndpointPath プロパティを見つけて更新してください。
JSSアプリケーションにおけるGraphQLの利用
JSSアプリはGraphQLの利用に関していくつかの選択肢を提供しています。
JSSなしで構築されたJavaScriptアプリケーションと同様に、Sitecore GraphQLエンドポイントに対して、GraphQLクライアントライブラリを使って直接HTTPリクエストを行うことができます。サンプルJSSアプリケーションでは、これをJSSアプリでConnected GraphQLと呼びます。
もう一つの選択肢は 、JSSアプリで統合されたGraphQLを使用することです。ここでは、クエリはレイアウトサービスエンドポイント内で実行され、クエリ結果はレイアウトサービス応答で返されるJSONデータに統合されます。
!注ここでの*「接続*」「統合」という用語は、アプリケーションモードとは関係ありません。