Apex - 调用


Apex调用是指执行Apex类的过程。Apex 类只能在通过下面列出的方式之一调用时执行 -

  • 触发器和匿名块

  • 为指定事件调用的触发器

  • 异步顶点

  • 安排 Apex 类以指定的时间间隔运行,或运行批处理作业

  • 网络服务类

  • Apex 电子邮件服务类

  • Apex Web 服务,允许通过 SOAP 和 REST Web 服务公开您的方法

  • Visualforce 控制器

  • Apex 电子邮件服务处理入站电子邮件

  • 使用 JavaScript 调用 Apex

  • 用于调用 Apex 中实现的 Web 服务方法的 Ajax 工具包

现在我们将了解一些调用 Apex 的常见方法。

来自执行匿名块

您可以通过在开发者控制台中执行匿名来调用 Apex 类,如下所示 -

步骤 1 - 打开开发者控制台。

步骤 2 - 单击“调试”。

从执行匿名 Step1 调用 Apex

步骤 3 - 将打开执行匿名窗口,如下所示。现在,单击“执行”按钮 -

从执行匿名 Step2 调用 Apex

步骤 4 - 当调试日志出现在“日志”窗格中时打开它。

从执行匿名 Step3 调用 Apex

从触发器

您也可以从 Trigger 调用 Apex 类。触发器在指定事件发生时被调用,触发器在执行时可以调用Apex类。

以下示例代码显示了调用触发器时如何执行类。

例子

// Class which will gets called from trigger
public without sharing class MyClassWithSharingTrigger {

   public static Integer executeQuery (List<apex_customer__c> CustomerList) {
      // perform some logic and operations here
      Integer ListSize = CustomerList.size();
      return ListSize;
   }
}

// Trigger Code
trigger Customer_After_Insert_Example on APEX_Customer__c (after insert) {
   System.debug('Trigger is Called and it will call Apex Class');
   MyClassWithSharingTrigger.executeQuery(Trigger.new);  // Calling Apex class and 
                                                         // method of an Apex class
}

// This example is for reference, no need to execute and will have detail look on 
// triggers later chapters.

来自 Visualforce 页面控制器代码

Apex 类也可以从 Visualforce 页面调用。我们可以指定控制器或控制器扩展,然后指定的 Apex 类将被调用。

例子

VF页面代码

从 VF 页面调用 Apex Step1

Apex 类代码(控制器扩展)

从 VF 页面调用 Apex Step2