1

我想通过 REST API 获取我的 visualforce 页面顶点代码。我尝试了像 /services/data/v41.0/sobjects/{sobjectName}/describe/layouts 这样的元数据 API,我能够访问字段信息,但我想访问定义所有字段和触发器的页面的顶点代码。

任何指导将不胜感激。谢谢

4

2 回答 2

1

您必须进行 2 次 api 调用,即首先获取 vf 页面代码,然后获取控制器代码。

如果在工作台上进行测试,请使用端点 url:

/services/data/v43.0/tooling/query?q=select+id,ControllerKey,Markup+from+apexpage+where+name='<pagename>'

响应将在ControllerKey节点中为您提供控制器名称。

现在,接下来使用端点调用 Apex 类:

/services/data/v43.0/tooling/query?q=select+id,body,name+from+apexclass+where+name='<ControllerKey value>'

如果将 apex 类用作扩展,那么您必须从第一个响应中解析标记以获取类名。

如果您需要更多详细信息,请告诉我。

于 2018-07-19T09:09:21.517 回答
1

ApexClass您可以从对标准对象的查询中获取 Apex 类(不属于托管包的一部分)的主体:

curl \
-H 'X-PrettyPrint: 1' \
-H 'Authorization: Bearer <session-id>' \
https://ap4.salesforce.com/services/data/v43.0/tooling/query?q=SELECT+Body+FROM+ApexClass+LIMIT+1

Visualforce 页面可以类似地通过对ApexPage标准对象的查询来检索Markup

curl \
-H 'X-PrettyPrint: 1' \
-H 'Authorization: Bearer <session-id>' \
https://ap4.salesforce.com/services/data/v43.0/tooling/query?q=SELECT+Markup+FROM+ApexPage+LIMIT+1

有关要查询的可用标准字段和对象的更多信息,请查看对象参考

于 2018-07-18T16:19:29.983 回答