Sitecore GraphQL API

Version: 22.x
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore GraphQL APIは、Sitecoreの上に乗った汎用GraphQLサービスプラットフォームです。データをホストし、GraphQLクエリを通じて表示します。このAPIは、GraphQLサブスクリプションを使用したリアルタイム データをサポートしています。

GraphQLは、フロントエンドを強化するためにプロダクショングレードのAPIが必要な場合に適しています。従来のREST APIと比較して、GraphQLは保守性が大幅に向上し、(組み込みのGUIツールのおかげで) はるかに簡単に検出およびクエリ可能になり、帯域幅効率が大幅に向上し、はるかに強力です。

GraphQLの使用方法と学習方法に関する 優れたチュートリアル があります。

Sitecore GraphQLの概念

このSitecore GraphQL APIはGraphQL標準を実装していますが、Sitecore固有の詳細がいくつかあります。

endpointsは絶対URLで定義します。これらのエンドポイントは、GraphQL schema (厳密に型指定されたグラフ定義) をホストします。このスキーマは、1つ以上のスキーマ プロバイダー (ContentSchemaProviderCustomersCrmSchemaProviderなど) で構成されます。これらのエンドポイントはGraphQL言語を理解します。REST APIとは異なり、正式な要求と応答の形式があります。したがって、GraphQLエンドポイントはすべて1つのコントローラーによって処理され、新しいエンドポイントを定義するためのコードは必要ありません。これにより、リクエストのバッチ処理 (1つのHTTPリクエストに複数のクエリを含める) も可能になり、ネットワークトラフィックが削減されます。

各エンドポイントには独自の分離された構成があるため、エンドポイントを他のエンドポイントの構成から分離して信頼性を高めることができます。また、スキーマ プロバイダーがエンドポイントを作成した後に、エンドポイントのGraphQLスキーマを変更して追加するextendersを使用して、スキーマ全体を拡張することもできます。これにより、分析エクステンダーによって標準のアイテム グラフ タイプに新しい分析プロパティを追加したり、CRMシステムまたは別のRESTサービス プロバイダーからのデータをアイテム フィールドに統合したりするなどのシナリオが可能になります。

Sitecore GraphQLは、認証 (標準の認証Cookieを使用) と、SSC APIキーを使用した属性と偽装をサポートしています。カスタム承認ルーチンを使用できます。コンテンツエンドポイントは特定の操作を無効にできるため、たとえば、ミューテーションフリーの読み取り専用コンテンツエンドポイントが可能です。

GraphQLクエリエディタは、クエリの作成(コード補完あり)とAPIドキュメントのレビューを行うためのSitecore GraphQLエンドポイントに組み込まれています。GraphQLタイプ システムはSitecoreテンプレートを認識しています。したがって、実際のフィールドに対して厳密に型指定されたクエリを作成および検証できます。テンプレートの変更はリアルタイムで更新されます。テンプレート フィールドはGraphQL型にもマップされるため、たとえば、イメージ フィールドの値に加えて、イメージ フィールドのsrcwidthなど、厳密に型指定されたアクセス権を取得できます。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、