データガイドライン
Lightning データサービス
Apex メソッドのインポート
コンポーネントへの Apex メソッドの公開
コンポーネントへの Apex メソッドの結び付け
命令としての Apex メソッドのコール
Apex アクションの一括処理
クライアント側キャッシュ
オブジェクトと項目のインポート
Apex クラスの保護
Apex からの API のコール
Apex メソッドを Lightning Web コンポーネントに公開するには、メソッドが static で、かつ global または public のいずれかである必要があります。メソッドに @AuraEnabled アノテーションを付加します。
1public with sharing class ContactController {
2 @AuraEnabled(cacheable=true)
3 public static List<Contact> getContactList() {
4 return [
5 SELECT Id, Name, Title, Phone, Email, Picture__c
6 FROM Contact
7 WHERE Picture__c != null
8 WITH SECURITY_ENFORCED
9 LIMIT 10
10 ];
11 }
12}次の型が入力と出力でサポートされます。
@AuraEnabled Apex メソッドでは、@NamespaceAccessible Apex アノテーションはサポートされません。両方のパッケージが同じ名前空間内にあっても、1 つのパッケージからインストールされた Lightning Web コンポーネントは、別のパッケージの Apex クラスから Apex メソッドをコールすることはできません。Note
Lightning Component フレームワークでは、Apex クラスの場所に関するルールは適用されません。Salesforce DX を使用している場合は、Apex クラスを <app dir>/main/default/classes ディレクトリに配置します。
Apex メソッドを作成する場合、Apex クラスや sObject のようにパラメータをプリミティブとして渡すのか、複雑なデータ型として渡すのかを決定する必要があります。
lwc-recipes リポジトリには、プリミティブパラメータや複雑なパラメータを使用してメソッドをコールする apexImperativeMethodWithParams および apexImperativeMethodWithComplexParams コンポーネントの例もあります。
Tip
関連トピック
The Japanese Summer '24 guide is now live