JSS GraphQL API
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore JavaScript レンダリング SDK (JSS) は、GraphQL サービスとクライアントを提供し、GraphQL によるデータのクエリと更新を容易にします。
Sitecore が提供する JSS プロジェクト作成用ツールを使用してアプリケーションをセットアップするときに、GraphQL の使用を選択できます。
GraphQL を動作させるには、接続モード、ヘッドレス接続モード、または統合モードが必要です。切断モードを使用する場合、切断された開発サーバーは REST サービスのみをエミュレートするため、アプリケーションのサービス ファクトリは REST サービスを返す必要があります。
GraphQL クエリで利用可能なデータ
GraphQL を使用すると、次の型のデータをフェッチできます。
-
JSS Layout APIによって提供される GraphQL レイアウト サービスを使用したレイアウト データ。
-
JSS Dictionary API によって提供されるGraphQL ディクショナリ サービスを使用したディクショナリ データ。
Next.js に JSS を使用している場合、サンプル アプリケーションは GraphQL Sitemap Service を利用して、Next.js アプリを静的に生成してエクスポートするときに Sitecore GraphQL API を使用してサイト ページのリストをフェッチします。
GraphQL エンドポイント
JSS アプリケーションでは、次の GraphQL エンドポイントを使用できます。
-
Sitecore Experience Edge for XM GraphQL エンドポイント。これには、ヘッドレス Sitecore 開発の一般的なフロントエンドのユースケースに対応するように設計された、読み取り専用の GraphQL スキーマが付属しています。Experience Edge スキーマについてはこちらをご覧ください。
-
ヘッドレス サービスが提供する Sitecore Edge Preview GraphQL エンドポイント。Sitecore 上にGraphQL サーバーを実装し、Experience Edge スキーマを反映しています。
-
Sitecore GraphQL エンドポイント、JSS サーバー コンポーネントによって初めて導入された 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 アプリの接続型 GraphQL と呼ばれます。
他のオプションは、JSS アプリでの統合型 GraphQL を使用することです。ここでは、クエリはレイアウト サービス エンドポイント内で実行され、クエリ結果はレイアウト サービスの応答で返される JSON データにマージされます。
このコンテキストでの接続型と統合型は、アプリケーション モードとは関係ありません。