课程章节介绍
同学们,我们这节课来看看,到底什么时候需要用Apex来写代码。幻灯片上给大家列出了这么几种典型场景,我来一个一个讲清楚。
首先,当你想创建Web服务的时候。比如,你希望外部的系统能调用Salesforce里的某些功能,就要用Apex去写一个对外暴露的接口,让别的应用可以安全地访问我们的数据。同样的道理,如果你想处理接收进来的邮件,自动把邮件内容转成案例或者任务,那就需要创建邮件服务,这也要靠Apex来实现。
第二类情况是,当你要对多个对象做复杂的验证。系统自带的验证规则只能针对一个对象上的字段,但如果你的业务规则涉及到好几个相关的对象,比如订单、订单行项目和库存,就必须用Apex写触发器来做跨对象的检验。
第三个,Flow Builder虽然很强大,但它也不是万能的。如果碰到特别复杂的业务流程,比如多层循环、复杂的计算或者需要用一些高级的算法,Flow做不了,那就得用Apex来定制开发。
还有,如果你的逻辑必须在一个事务里完整地执行。比如说,一次保存记录的动作,要同时更新好几张关联表,要求要么全成功,要么全回滚,这时你就需要写Apex来实现这种事务级别的自定义逻辑,而不仅仅是针对某一条记录。
最后一个,也是特别常用的,就是你想把一段自定义逻辑绑定到某个操作上,比如保存记录的时候触发。无论这个保存是用户从界面上点按钮,还是从Visualforce页面提交,又或者是通过API调用的,你都希望这段逻辑能自动执行。这就是典型的Apex触发器场景。
所以简单来说,当你发现标准配置、流程生成器解决不了,或者需要跨对象、跨事务、需要对外开放服务的时候,就轮到我们的Apex上场了。是不是一下子就清晰了?
关键词
Apex
Salesforce
Developer Guide