Bemutatkozik a Workbench
A Workbench nem hivatalos Salesforce.com termék. De a Salesforce-t fogjuk használni az adatkezelési műveletek elvégzésére, például a kijelölés, beszúrás, felhelyezés, frissítés és törlésre, mindössze bejelentkezve Salesforce-fiókjába (a Sandbox és a termelést egyaránt támogatja). Ez a hivatalos webhely a Workbench Salesforce-szal való bejelentkezéséhez: https://workbench.developerforce.com/login.php .
Jelenleg csak az API-verzió maradjon meg, és kattintson a „Bejelentkezés Salesforce-szal” gombra.
Szükségünk van a REST Explorerre. Lépjen a „Segédprogramok” fülre, és kattintson a „REST Explorer” elemre.
Az alábbi ábrán látható felhasználói felületet fogja látni. A teljes útmutatóban szereplő rekordok Salesforce-ból való lekéréséhez a GET-et kell választanunk. Meg kell adnunk azt az URI-t, amely lekéri a Salesforce rekordokat, és kattintson a „Végrehajtás” gombra.
Adott rekord lekérése Salesforce-azonosítóval
A Salesforce rekordazonosító alapján lekérhetjük a Salesforce teljes rekordját. Az URI-t a következőképpen kell beállítanunk:
/ szolgáltatások / adat / v56.0 / kiabál / objectAPIName / idItt az „objectAPIName” a Salesforce Standard/Custom objektum, az „id” pedig a Salesforce-azonosítóra utal.
Visszatérés:
A HTTP/1.1 200 OK nyers választ fog kapni JSON formátumban, az alábbiak szerint:
{'tulajdonságok' : {
'típus' :
'url' :
} ,
'terület' : Érték,
...
}
Példa:
Ebben a példában lekérjük az 5005i00000W4GM5AAN esetrekordot.
TÍPUS: / szolgáltatások / adat / v56.0 / kiabál / Ügy / 5005i00000W4GM5AANEredmény:
Láthatjuk, hogy a válasz JSON formátumban jön létre.
Az eredményeket közvetlenül innen is megtekinthetjük:
Több rekord lekérése a lekérdezéssel
Ideje több rekordot lekérni a Salesforce objektumból. Korábban az objektumokat az URI-ban határoztuk meg. Itt meg kell adnunk egy lekérdezést, amely paraméterként veszi a lekérdezést.
URI: szolgáltatások / adat / v57.0 / lekérdezés / ? q =KIVÁLASZTÁS+mező1,mező2,....+objektumAPINameA „+” jelet kell használnunk elválasztóként, hogy összekapcsoljuk a kulcsszavakat a lekérdezésben. Visszaadja a totalSize-t, és egy mappában rögzíti. Az egyes rekordok mappaneve: [1. tétel],…[n. tétel].
1. példa:
Adjuk vissza azokat a rekordokat, amelyek tartalmazzák a CaseNumber-t, az állapotot, a prioritást és a Case objektum leírását.
Eredmény:
Ha rákattint az „Összes kibontása” gombra, látni fogja az összes rekordot attribútumokkal és értékekkel együtt.
Hadd mutassam meg az első és az utolsó felvételt:
2. példa:
Csak három rekordot adjunk vissza az első példában látható mezőkkel.
Eredmény:
A Case objektumban lévő első két rekord visszaadásra kerül.
3. példa:
Adjuk meg a WHERE feltételt abban a lekérdezésben, amely kijelöli az „Új” állapotú rekordokat.
Eredmény:
Öt rekord létezik „Új” állapottal.
Egyéni pihenőforrás az Apexben
Használhatjuk a Salesforce Apex-et, amely visszaadja a rekordot a Salesforce objektumból, ha megadja az URI-t a Workbenchben. A REST Apexben való megírásához használnunk kell néhány megjegyzést, amelyek hozzáférnek a REST API-hoz az Apex osztályban. Győződjön meg arról, hogy az Apex osztályunknak globálisan statikusnak kell lennie.
1. @RestResource Annotation
Ez a megjegyzés arra szolgál, hogy engedélyezze, hogy melyik Apex osztály REST-erőforrásként jelenjen meg. Az urlMapping paramétert használja az URI megkeresésére a Workbenchben.
Szintaxis: @RestResource(urlMapping=’/Version/ApexClassName/’)
A „verzió” az Ön Workbench-verziója, például a V56.0, az „ApexClassName” pedig az Ön Apex-osztálya, amelyben a Rest API-erőforrások érintettek.
2. @HttpGet Annotation
Ez a megjegyzés arra szolgál, hogy engedélyezze, hogy melyik Apex osztály REST-erőforrásként jelenjen meg. Akkor hívják meg, amikor egy HTTP GET kérést küldenek a szervernek, és visszaadja a megadott erőforrást.
Szintaxis: @httpGet
1. példa: Egyparaméter
Írja be a „RestApi_Get_Record.apxc” Apex osztályt, amely magában foglalja a „Rest Get” metódust az azonosító, a CaseNumber, az állapot, a prioritás és az esetből származó eredet visszaadásához a Case objektumból.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globális osztály RestApi_Get_Record {
// REST - Get Method
@ httpGet
globális statikus Case getCaseDetails ( ) {
// Objektum létrehozása számára Case objektum
Case case_obj = new Case ( ) ;
Térkép < String, String > paramsMap = RestContext.request.params;
// Szerezd meg a ügy id
String caseid =paramsMap.get ( 'input_id' ) ;
// SOQL lekérdezés, amely megteszi Visszatérés id ,Ügyszám,Állapot,Prioritás,Cseke származása innen
// a Case objektum
case_obj = [ válassza ki id ,CaseNumber,Status,Priority,Origin from Case, where Id =:caseid ] ;
Visszatérés case_obj;
}
}
URI és eredmény:
Lépjen a Workbench oldalra, és keresse meg a REST Explorert. Adja át az azonosítót 5002t00000Pdzr2AAB-ként az input_id paraméternek.
/ szolgáltatások / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Magyarázat:
- Hozzon létre egy objektumot a „case_obj” esethez.
- Szerezze be a paramétereket a RestContext.request.params használatával.
- Szerezze le az esetazonosítót a param input_id paraméterből, és tárolja ezt a caseid változóban.
- Írja meg azt a SOQL-lekérdezést, amely a „caseid” eset Case objektumából adja vissza az id-t, a CaseNumber-t, az állapotot, a prioritást, az eredetet az esetből.
- Adja vissza az esetobjektumot (case_obj).
2. példa: Több paraméter
Használja az előző Apex osztályt, és kapja meg a „Status” paramétert az azonosítóval együtt. Adja meg ezt a két paramétert a Workbench URI-ban, amelyet „&” választ el.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globális osztály RestApi_Get_Record {
// REST - Get Method
@ httpGet
globális statikus Case getCaseDetails ( ) {
// Objektum létrehozása számára Case objektum
Case case_obj = new Case ( ) ;
Térkép < String, String > id_param = RestContext.request.params;
Térkép < String, String > status_param = RestContext.request.params;
// Szerelje be az id_param paramétert a case_id paraméterbe
String case_id = id_param.get ( 'input_id' ) ;
// Szerelje be a status_param paramétert a case_status paraméterbe
String case_status =status_param.get ( 'állapot' ) ;
case_obj = [ válassza ki id ,CaseNumber,Status,Priority,Origin from Case, where Id =:case_id and Status =: case_status ] ;
Visszatérés case_obj;
}
}
URI és eredmény:
Lépjen a Workbench oldalra, és keresse meg a REST Explorert. Adja meg a bemeneti_azonosítót 5002t00000PdzqwAAB-ként, az állapotot pedig „Closed”-ként az URI-ban.
/ szolgáltatások / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & állapot =Zárva
Következtetés
Három forgatókönyvet tárgyaltunk a Salesforce rekordok lekérésére a Salesforce REST API-n keresztül a Workbench használatával. Egy adott rekord visszaadásához meg kell adnunk az sObject-et az id paraméterként történő átadásával az URI-ban. Hasonlóképpen adjuk át a lekérdezési paramétereket, hogy konkrét rekordokat kapjunk. Az Apex segítségével létrehozhatunk saját „Get” metódusunkat a rekord kiválasztásához egyetlen/több paraméter alapján.