2013-08-27 231 views
1

我已经通过通过这个参数,链路创建的Apex触发器:创建的Apex类动态

{ 
    "Name" : "COTriggerEmp11", 
"TableEnumOrId" : "employee__c", 
    "Body" : "trigger COTriggerEmp11 on employee__c (before insert) {system.debug('Record Inserted');}" 
} 

URL :https://ap1.salesforce.com/services/data/v28.0/sobjects/ApexTrigger 

现在我想创建的Apex触发同样的方式... 其中参数我需要传递,我应该写在身体部分。 我也参考这个文档: http://www.salesforce.com/us/developer/docs/api/index.htm

回答

1

我试过了我自己,得到了这个解决方案,它工作正常。 要创建的Apex类动态执行以下操作:

{ 
    "Name": "aaTest1", 
    "Body": "public class aaTest1{}" 
} 

这将自动生成类ID。 现在,如果你想删除这个类,你应该通过这个ID是这样的:

https://ap1.salesforce.com/services/data/v28.0/sobjects/ApexClass/[Your Class ID] 

也许这将帮助你这样的人我was..Thanks是谁卡住了。

+0

thanks @rishabh –

0

我想更进一步,通过自动化生成更大的Apex类。这样做,我发现了一些特殊的考虑因素,因为使用JSON来传递我想要注意的代码来帮助其他人,如果他们想要做同样的事情。

首先,我必须避免使用反斜杠(替换\\\)。事实上,因为我是在顶点编码(从Salesforce内创建Salesforce类),我不得不逃跑,即使他们这是按摩类的代码,所以我的顶点声明成了我的源代码...

string bodystring = batchCode.replace('\\','\\\\'); 

然后我还需要跳过代码中的换行符(将\n替换为\\n)。

我正在使用的其他源代码中有制表符,并且这些代码导致了JSON反序列化问题。因此添加了mycode.replace('\t',' ')以清除它们的代码。

通过对代码的这些调整,我能够通过自动化创建Apex类。