graphql (ベータ)

GraphQL ワイヤアダプタは、Lightning データサービス (LDS) を使用してデータを管理します。他のワイヤアダプタとは異なり、GraphQL スキーマで定義されたクエリごとに異なるワイヤアダプタは必要ありません。代わりに LDS は単一の対応付けワイヤアダプタを提供しており、GraphQL クエリドキュメントと変数の対応付けが可能です。

この機能はベータサービスです。ベータサービスはお客様独自の裁量で試行するものとします。ベータ機能の使用には、「Agreements and Terms」に記載されたベータサービス規約が適用されます。

GraphQL ワイヤアダプタは、Salesforce GraphQL API スキーマを使用するため、UI API 対応のオブジェクトを現在のユーザのオブジェクトレベルのセキュリティと項目レベルのセキュリティで利用できるようになります。UI API は、ページ設定に対して GraphQL Cursor Connections Specification (GraphQL カーソル接続仕様) をサポートしています。

GraphQL API スキーマを調べるには、Altair GraphQL クライアントを使用してイントロスペクションからスキーマのドキュメントを確認することをお勧めします。このクライアントでは、項目のオートコンプリート機能を備えたクエリエディタが提供されており、任意の Salesforce オブジェクトに特定の種別の項目を簡単に追加できます。クエリを迅速かつ正確に作成するために、このクライアントを使用することをお勧めします。

GraphQL ワイヤアダプタは、この GraphQL API リソースを使用します。

  • query — (必須) 解析された GraphQL クエリ。gql JavaScript テンプレートリテラル関数を使用してクエリを解析します。gql は、GraphQL クエリをワイヤアダプタが使用できる形式に解析します。gql は、リアクティブではありません。${} 文字列の補間構造を含めると、テンプレートリテラルの拡張時に 1 回のみ評価されます。

  • variablesgql クエリの動的な値のキー - 値ペア。ワイヤアダプタが変化に反応できるように variables を getter 関数で使用します。

変数に渡される値は、デフォルト値が指定されていないクエリのすべての変数の値を含む対応付けである必要があります。

:::

  • operationName — クエリで実行する操作の名前。GraphQL クエリで複数の操作が定義されている場合、operationName を使用して実行する操作を選択します。さまざまな GraphQL の要求を識別できるようにするサーバ側でのデバッグを改善するために、短縮構文の query を使用するのではなく、query operationName によってクエリにラベル付けすることをお勧めします。例えば、query bigAccounts または query serviceReports のようにします。

GraphQL 応答仕様との互換性を維持するため、GraphQL ワイヤアダプタでは他の LWC ワイヤアダプタとは異なり error の代わりに errors が使用されます。

ワイヤアダプタの使用を開始するには、識別子をインポートし、コンポーネントのプロパティの設定を指定します。gql 関数を使用してクエリを渡します。

この HTML テンプレートは、クエリで返された最初の 10 個の取引先名を表示します。

リアクティビティを加えるために、variables パラメータに値を渡し、戻り値用の getter を作成します。

getter 関数を使用することで、GraphQL ワイヤアダプタが minAmount の変更に反応するようになります。

例では、$minAmount 変数に Currency 型が宣言されています。Currency は、Salesforce GraphQL API スキーマの型を参照します。Currency 型は、未加工の値です (例、1000)。この場合、1,000 のような書式の値を渡すことはできません。ユーザが異なる金額を選択すると、handleMinAmountChange イベントハンドラによってクエリが更新されます。

この HTML テンプレートでは、最小金額を選択し、照会した取引先を表示できます。

Salesforce の多くの項目は、valuedisplayValueformat 項目によって、未加工値とオブジェクトに対応付けられます。Altair GraphQL クライアントを使用して、スキーマのドキュメントを確認することをお勧めします。

現在、GraphQL API ワイヤアダプタでは次の使用事例はサポートされていません。

  • 親リレーションまたは子リレーションを持つカスタムオブジェクト
  • カスタムオブジェクトを、そのカスタムオブジェクトを参照する Lightning Web コンポーネントと同じパッケージでリリースする。最初にカスタムオブジェクトをリリースすることをお勧めします。
  • Experience Cloud サイト
  • 別のコンポーネントからのフラグメントの参照など、実行時の GraphQL クエリの動的作成
  • 名前空間パッケージで定義されたオブジェクトや項目の参照
  • 名前空間パッケージのコンポーネントからの GraphQL の使用
  • @skip@include などのディレクティブでの変数の使用