Představujeme Workbench
Workbench není oficiální produkt Salesforce.com. Ale budeme používat Salesforce k provádění operací manipulace s daty, jako je výběr, vložení, upsert, aktualizace a odstranění, pouhým přihlášením do vašeho účtu Salesforce (podporuje Sandbox i Production). Toto je oficiální webová stránka pro přihlášení k Workbench pomocí Salesforce: https://workbench.developerforce.com/login.php .
Od této chvíle ponechejte pouze existující verzi API a klikněte na tlačítko „Přihlásit se pomocí Salesforce“.
Potřebujeme REST Explorer. Přejděte na kartu „utility“ a klikněte na „REST Explorer“.
Uvidíte uživatelské rozhraní jako na následujícím obrázku. K načtení záznamů ze Salesforce v celé této příručce musíme zvolit GET. Musíme zadat identifikátor URI, který načte záznamy Salesforce, a kliknout na tlačítko „Provést“.
Získejte konkrétní záznam s ID Salesforce
Na základě ID záznamu Salesforce můžeme načíst celý záznam Salesforce. Musíme nastavit URI takto:
/ služby / data / v56.0 / objekty / objectAPINname / idZde je „objectAPIName“ standardní/vlastní objekt Salesforce a „id“ odkazuje na Salesforce ID.
Vrátit se:
Získáte nezpracovanou odpověď HTTP/1.1 200 OK ve formátu JSON jako v následujícím:
{'atributy' : {
'typ' :
'url' :
} ,
'pole' : Hodnota,
...
}
Příklad:
V tomto příkladu načteme záznam případu 5005i00000W4GM5AAN.
TYP: / služby / data / v56.0 / objekty / Pouzdro / 5005i00000W4GM5AANVýsledek:
Vidíme, že odpověď je generována ve formátu JSON.
Výsledky si můžeme prohlédnout také přímo zde:
Načíst více záznamů pomocí dotazu
Je čas načíst více záznamů z objektu Salesforce. Dříve jsme specifikovali objekty v URI. Zde musíme zadat dotaz, který vezme dotaz jako parametr.
URI: služby / data / v57.0 / dotaz / ? q =SELECT+pole1,pole2,....+from+ObjectAPINnameKe spojení klíčových slov v dotazu musíme použít „+“ jako oddělovač. Vrátí celkovou velikost a záznamy ve složce. Název složky pro každý záznam je [Item 1],…[Item n].
Příklad 1:
Vraťme záznamy, které obsahují CaseNumber, stav, prioritu a popis z objektu Case.
Výsledek:
Po kliknutí na „Rozbalit vše“ uvidíte všechny záznamy s jejich atributy a hodnotami.
Dovolte mi ukázat první a poslední záznamy:
Příklad 2:
Vraťme pouze tři záznamy se stejnými poli jako v prvním příkladu.
Výsledek:
První dva záznamy, které jsou přítomny v objektu Case, jsou vráceny.
Příklad 3:
Uveďte podmínku WHERE v dotazu, který vybírá záznamy se stavem „Nový“.
Výsledek:
Existuje pět záznamů se stavem „Nový“.
Vlastní zdroj odpočinku v Apexu
Můžeme použít Salesforce Apex, který vrací záznam z objektu Salesforce zadáním URI ve Workbench. Abychom mohli napsat REST v Apex, musíme použít některé anotace, které přistupují k REST API ve vaší třídě Apex. Ujistěte se, že naše třída Apex musí být globálně statická.
1. @RestResource Anotace
Tato anotace se používá k povolení, které odhaluje třídu Apex jako prostředek REST. Bere urlMapping jako parametr, který se používá k nalezení URI ve Workbench.
Syntaxe: @RestResource(urlMapping=’/Version/ApexClassName/’)
„Verze“ je vaše verze Workbench jako V56.0 a „ApexClassName“ je vaše třída Apex, kde jsou zahrnuty prostředky Rest API.
2. @HttpGet Anotace
Tato anotace se používá k povolení, které odhaluje třídu Apex jako prostředek REST. Volá se, když je na server odeslán požadavek HTTP GET a vrací zadaný prostředek.
Syntaxe: @httpGet
Příklad 1: Single Param
Napište třídu Apex „RestApi_Get_Record.apxc“, která zahrnuje metodu „Rest Get“, která vrátí id, CaseNumber, stav, prioritu a původ z případu z objektu Case.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globální třída RestApi_Get_Record {
// REST - Get Method
@ httpGet
globální statické Case getCaseDetails ( ) {
// Vytvořit objekt pro Objekt případu
Case case_obj = nový případ ( ) ;
Mapa < Řetězec, Řetězec > paramsMap = RestContext.request.params;
// Dostaň pouzdro id
Řetězec caseid =paramsMap.get ( 'input_id' ) ;
// SOQL dotaz, který bude vrátit se id ,CaseNumber,Status,Priority,Origin from Case from
// objekt Case
case_obj = [ vybrat id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
vrátit se case_obj;
}
}
URI a výsledek:
Přejděte na Workbench a přejděte do Průzkumníka REST. Předejte id jako 5002t00000Pdzr2AAB do parametru input_id.
/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Vysvětlení:
- Vytvořte objekt pro případ „case_obj“.
- Získejte parametry pomocí RestContext.request.params.
- Získejte ID případu z parametru input_id a uložte jej do proměnné caseid.
- Napište dotaz SOQL, který vrátí id, CaseNumber, stav, prioritu, původ z case z objektu Case případu „caseid“.
- Vraťte objekt case (case_obj).
Příklad 2: Více parametrů
Využijte předchozí třídu Apex a získejte parametr „Status“ spolu s id. Zadejte tyto dva parametry v URI Workbench, které jsou odděleny znakem „&“.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globální třída RestApi_Get_Record {
// REST - Get Method
@ httpGet
globální statické Case getCaseDetails ( ) {
// Vytvořit objekt pro Objekt případu
Case case_obj = nový případ ( ) ;
Mapa < Řetězec, Řetězec > id_param = RestContext.request.params;
Mapa < Řetězec, Řetězec > status_param = RestContext.request.params;
// Získejte id_param do case_id
Řetězec case_id = id_param.get ( 'input_id' ) ;
// Získejte status_param do case_status
Řetězec case_status =status_param.get ( 'postavení' ) ;
case_obj = [ vybrat id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
vrátit se case_obj;
}
}
URI a výsledek:
Přejděte na Workbench a přejděte do Průzkumníka REST. Předejte input_id jako 5002t00000PdzqwAAB a stav jako „Uzavřeno“ v URI.
/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & postavení = Zavřeno
Závěr
Probrali jsme tři scénáře načítání záznamů Salesforce prostřednictvím Salesforce REST API pomocí Workbench. Abychom vrátili konkrétní záznam, musíme specifikovat sObject předáním id jako parametru v URI. Podobně předáváme parametry dotazu, abychom získali konkrétní záznamy. Pomocí Apex můžeme vytvořit vlastní metodu „Get“ pro výběr záznamu na základě jednoho/více parametrů.