Sitecore GraphQL API
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore GraphQL API は、Sitecore 上にある汎用の GraphQL サービス プラットフォームです。これはデータをホストし、GraphQL クエリを介してデータを提示します。この API は、GraphQL サブスクリプションを使用することで、リアル タイム データをサポートします。
GraphQL は、フロントエンドを動かすためのプロダクション グレードの API が必要な場合に適しています。従来の REST API と比較して、GraphQL はメンテナンス性に優れており、GUI ツールが組み込まれているため検出や問い合わせが容易で、帯域幅の効率も良く、強力な機能を備えています。
GraphQL の使用法に関する優れたチュートリアルが提供されています。
Sitecore GraphQL の概念
Sitecore GraphQL API には GraphQL 標準が実装されていますが、いくつかの Sitecore 固有の動作や設定があります。
エンドポイントは絶対 URL で定義します。これらのエンドポイントは、GraphQL スキーマ (厳密に型指定されたグラフ定義) をホストします。このスキーマは、1 つ以上のスキーマ プロバイダー (たとえば、ContentSchemaProvider
や CustomersCrmSchemaProvider
など) によって構成されます。これらのエンドポイントは GraphQL 言語を理解します。REST API とは異なり、正式な要求と応答の形式があります。したがって、GraphQL エンドポイントはすべて 1 つのコントローラーでサービスが提供され、新しいエンドポイントを定義するためのコードは必要ありません。また、要求のバッチ処理 (1 つの HTTP リクエストで複数のクエリを実行する) などの機能により、ネットワーク トラフィックを削減することができます。
各エンドポイントはそれぞれ隔離された構成を持っているため、エンドポイントを他のエンドポイントの構成から隔離して信頼性を高めることができます。また、スキーマ プロバイダーによって作成された後のエンドポイントの GraphQL スキーマを修正および追加するエクステンダーによって、スキーマ全体を拡張することができます。これにより、標準的なアイテムのグラフ型に、アナリティクス エクステンダーによって新しいアナリティクス プロパティを追加できるようにしたり、CRM システムや他の REST サービス プロバイダからのデータをアイテム フィールドに統合したりといったシナリオが可能になります。
Sitecore GraphQL は、標準の認証 Cookie を介した認証および SSC API キーを使用した属性と偽装をサポートします。カスタム認証ルーチンを使用することもできます。コンテンツ エンドポイントでは、特定の操作を無効にすることができるため、たとえば、変異のない読み取り専用のコンテンツ エンドポイントが可能です。
GraphQL クエリ エディターは、Sitecore GraphQL エンドポイントに組み込まれており、クエリのオーサリング (コード補完機能付き) や API ドキュメントのレビューを行うことができます。GraphQL の型システムは Sitecore のテンプレートを認識できるので、厳密に型指定されたクエリを実際のフィールドに対して作成し、検証することができます。テンプレートの変更はリアルタイムで更新されます。また、テンプレートのフィールドは、GraphQL の型にマッピングされているため、たとえば、画像フィールドの src
や width
およびその値に対して厳密に型指定されたアクセスを行うことができます。