Как мы можем сделать REST CallLout, используя компонент освещения
Любой, кто имеет представление о том, как выполнить REST CallLout из компонента Lightning (через приложение Custom Lightning, страницу Custom Lightning), чтобы получить подробности метаданных.
Например: я хочу получить подробную информацию о просмотре учетной записи, поэтому я продолжаю придерживаться следующего подхода:
Компонент молнии (LogActivity.cmp)
<aura:component controller="LogActivityCtlr" implements="flexipage:availableForAllPageTypes">
<aura:attribute name="data" type="Object" />
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
Контроллер компонента Lightning (LogActivity.controller)
({
doInit: function(component, event, helper) {
helper.doInit(component);
} })
помощник компонента Lightning (LogActivity.helper)
({
doInit : function(cmp){
// create a one-time use instance of the serverEcho action in the server-side controller
var action = cmp.get("c.getInitData");
// Create a callback that is executed after the server-side action returns
action.setCallback(this, function(response){
var state = response.getState();
if (state === "SUCCESS"){
cmp.set('v.data', response.getReturnValue());
}
else if (state === "INCOMPLETE") {
alert("In Complete");
}else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
alert("Error message: " +
errors[0].message);
}
} else {
alert("Unknown error");
}
}
})
//this is actually use to call server side method
$A.enqueueAction(action);
}})
Апекс класс LogActivityCtlr.cls
public class LogActivityCtlr {
public static String ORG_INSTANCE ='';// GobalSetting__c.getValues('ORG_INSTANCE');
@AuraEnabled
public static Object getInitData(){
String viewId='00Bd0000005REf7EAG';
String endPoint=ORG_INSTANCE+'/services/data/v32.0/sobjects/Account/listviews/'+viewId+'/describe';
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint(endPoint);
request.setMethod('GET');
request.setHeader('Authorization','Bearer '+UserInfo.getSessionId());
HttpResponse response = http.send(request);
system.debug(response);
system.debug(response.getBody());
return response;
}
}
Если у вас есть идеи по этому поводу, пожалуйста, поделитесь!
Заранее спасибо!