【Salesforce 認定Platformデベロッパー】試験対策:第199問

問題

開発者が、@remoteActionデコレータを使用してグローバルなサーバー側メソッドを呼び出そうとするとエラーが発生します。このエラーを解決するにはどうすればよいですか。

  • サーバー側のメソッドを (static=false) でデコレートする。
  • サーバー側のメソッドのシグネチャにstaticを追加する。
  • サーバー側のメソッドを(static=true)でデコレートする。
  • 関数のシグネチャをprivate staticに変更する。

正解

  • サーバー側のメソッドを (static=false) でデコレートする。
  • サーバー側のメソッドのシグネチャにstaticを追加する。
  • サーバー側のメソッドを(static=true)でデコレートする。
  • 関数のシグネチャをprivate staticに変更する。

解説

問題文の解析:

「@remoteActionデコレータを使用してグローバルなサーバー側メソッドを呼び出そうとするとエラーが発生します。」という文から、@remoteActionデコレータを使用した際のメソッドの特定の要件が満たされていないことがエラーの原因と考えられます。

@remoteActionデコレータを使用するメソッドは、静的(static)であり、かつpublicまたはglobalである必要があります。この要件を満たすためには、メソッドのシグネチャにstaticを追加する必要があります。したがって、正解は「サーバー側のメソッドのシグネチャにstaticを追加する。」となります。

それぞれの選択肢の理由について説明します。

□ サーバー側のメソッドを (static=false) でデコレートする。
これは不正解です。static=false というデコレーションはApexに存在しません。また、@remoteActionで呼び出されるメソッドはstaticである必要があります。

□ サーバー側のメソッドのシグネチャにstaticを追加する。
これは正解です。@remoteActionで呼び出されるメソッドはstaticである必要があります。したがって、メソッドのシグネチャにstaticキーワードを追加することでエラーを解決できます。

□ サーバー側のメソッドを(static=true)でデコレートする。
これは不正解です。Apexにはstatic=trueというデコレーションは存在しません。正しくは、メソッドのシグネチャにstaticキーワードを追加するだけです。

□ 関数のシグネチャをprivate staticに変更する。
これは不正解です。@remoteActionで呼び出されるメソッドはpublicまたはglobalなアクセス修飾子を持つ必要があります。したがって、private staticにすると、Visualforceページからアクセスできなくなります。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 アドミニストレーター
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次