Apex サーバ側コントローラの概要
サーバ側コントローラを Apex で作成し、@AuraEnabled アノテーションを使用して、コントローラメソッドにアクセスできるようにします。
@AuraEnabled を使用して明示的にアノテーションを付加したメソッドのみが公開されます。サーバ側アクションのコールは、組織の API 制限に対してカウントされません。ただし、サーバ側コントローラアクションは Apex で記述されているため、Apex の通常の制限がすべて適用されます。
次の Apex コントローラには、渡される値の先頭に文字列を付加する serverEcho アクションが含まれます。
1public with sharing class SimpleServerSideController {
2
3 //Use @AuraEnabled to enable client- and server-side access to the method
4 @AuraEnabled
5 public static String serverEcho(String firstName) {
6 return ('Hello from the server, ' + firstName);
7 }
8}
@AuraEnabled アノテーションを使用することに加えて、Apex コントローラは次の要件も満たす必要があります。
- メソッドは static で、かつ public または global とマークされている必要があります。非静的メソッドはサポートされていません。
- メソッドがオブジェクトを返す場合、オブジェクトのインスタンス項目の値を取得するインスタンスメソッドは public である必要があります。
- コンポーネント内のクライアント側アクションとサーバ側アクションには一意の名前を使用します。JavaScript 関数 (クライアント側アクション) と Apexメソッド (サーバ側アクション) が同じ名前だと、問題が発生したときにデバッグしにくくなるおそれがあります。デバッグモードでは、フレームワークによって、クライアント側アクション名とサーバ側アクション名の競合に関するブラウザコンソールの警告が記録されます。
詳細は、『Apex 開発者ガイド』の「クラス」を参照してください。