Predstavljamo Workbench
Workbench ni uradni izdelek Salesforce.com. Vendar bomo uporabili Salesforce za izvajanje operacij manipulacije s podatki, kot so izbiranje, vstavljanje, upsetiranje, posodabljanje in brisanje, tako da se preprosto prijavite v svoj račun Salesforce (podpira tako peskovnik kot produkcijo). To je uradno spletno mesto za prijavo v Workbench s Salesforce: https://workbench.developerforce.com/login.php .
Od zdaj obdržite samo obstoječo različico API-ja in kliknite gumb »Prijava s Salesforce«.
Potrebujemo REST Explorer. Pomaknite se do zavihka »pripomočki« in kliknite »REST Explorer«.
Videli boste uporabniški vmesnik, kot je na naslednji sliki. Za pridobivanje zapisov iz Salesforce v tem celotnem vodniku se moramo odločiti za GET. Določiti moramo URI, ki pridobi zapise Salesforce, in klikniti gumb »Izvedi«.
Pridobite določen zapis z ID-jem Salesforce
Na podlagi ID-ja zapisa Salesforce lahko pridobimo celoten zapis Salesforce. URI moramo nastaviti na naslednji način:
/ storitve / podatke / v56.0 / predmetov / objectAPIName / idTu je »objectAPIName« objekt Salesforce Standard/Custom, »id« pa se nanaša na ID Salesforce.
Vrnitev:
Prejeli boste neobdelani odgovor HTTP/1.1 200 OK v formatu JSON, kot je prikazano spodaj:
{'lastnosti' : {
'tip' :
'url' :
} ,
'polje' : vrednost,
...
}
primer:
V tem primeru pridobimo zapis primera 5005i00000W4GM5AAN.
VRSTA: / storitve / podatke / v56.0 / predmetov / Ovitek / 5005i00000W4GM5AANrezultat:
Vidimo lahko, da je odgovor ustvarjen v formatu JSON.
Rezultate si lahko ogledamo tudi neposredno od tukaj:
Pridobite več zapisov s poizvedbo
Čas je, da pridobite več zapisov iz predmeta Salesforce. Prej smo določili subjekte v URI. Tukaj moramo podati poizvedbo, ki poizvedbo vzame kot parameter.
URI: storitve / podatke / v57.0 / poizvedbo / ? q =SELECT+field1,field2,....+from+ObjectAPINameZa združevanje ključnih besed v poizvedbi moramo uporabiti »+« kot ločilo. Vrne totalSize in zapise v mapo. Ime mape za vsak zapis je [Element 1],…[Element n].
Primer 1:
Vrnimo zapise, ki vključujejo CaseNumber, status, prioriteto in opis iz predmeta Case.
rezultat:
Ko kliknete »Razširi vse«, boste videli vse zapise z njihovimi atributi in vrednostmi.
Naj pokažem prvi in zadnji zapis:
Primer 2:
Vrnimo samo tri zapise z enakimi polji, kot jih vidimo v prvem primeru.
rezultat:
Vrneta se prva dva zapisa, ki sta prisotna v predmetu Case.
Primer 3:
Določimo pogoj WHERE v poizvedbi, ki izbere zapise s statusom »Novo«.
rezultat:
Obstaja pet zapisov s statusom »Novo«.
Vir počitka po meri v Apexu
Uporabimo lahko Salesforce Apex, ki vrne zapis iz objekta Salesforce, tako da podamo URI v delovnem okolju. Za pisanje REST v Apexu moramo uporabiti nekaj opomb, ki dostopajo do API-ja REST v vašem razredu Apex. Prepričajte se, da mora biti naš razred Apex globalno statičen.
1. Opomba @RestResource
Ta opomba se uporablja za omogočanje, ki izpostavi razred Apex kot vir REST. Kot parameter vzame urlMapping, ki se uporablja za iskanje URI-ja v delovnem okolju.
Sintaksa: @RestResource(urlMapping=’/Version/ApexClassName/’)
»Različica« je vaša različica Workbench, kot je V56.0, »ApexClassName« pa je vaš razred Apex, kjer so vključeni viri Rest API.
2. @HttpGet Annotation
Ta opomba se uporablja za omogočanje, ki izpostavi razred Apex kot vir REST. Pokliče se, ko je strežniku poslana zahteva HTTP GET in vrne navedeni vir.
Sintaksa: @httpGet
Primer 1: En param
Napišite razred Apex »RestApi_Get_Record.apxc«, ki vključuje metodo »Rest Get« za vrnitev ID-ja, CaseNumber, statusa, prioritete in izvora iz case iz predmeta Case.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globalni razred RestApi_Get_Record {
// REST - Pridobite metodo
@ httpGet
globalni statični primer getCaseDetails ( ) {
// Ustvari predmet za Predmet primera
Primer case_obj = nov primer ( ) ;
Zemljevid < Niz, niz > paramsMap = RestContext.request.params;
// Dobite Ovitek id
Niz caseid =paramsMap.get ( 'input_id' ) ;
// poizvedba SOQL, ki bo vrnitev id ,Številka zadeve,Status,Prioriteta,Izvor iz Primera iz
// predmet Case
case_obj = [ izberite id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
vrnitev case_obj;
}
}
URI in rezultat:
Pojdite na Workbench in se pomaknite do REST Explorerja. Posredujte ID kot 5002t00000Pdzr2AAB v parameter input_id.
/ storitve / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Pojasnilo:
- Ustvarite predmet za primer »case_obj«.
- Pridobite parametre z uporabo RestContext.request.params.
- Pridobite ID primera iz parama input_id in ga shranite v spremenljivko caseid.
- Napišite poizvedbo SOQL, ki vrne ID, CaseNumber, status, prioriteto, izvor iz primera iz predmeta Case primera »caseid«.
- Vrne predmet case (case_obj).
Primer 2: Več parametrov
Uporabite prejšnji razred Apex in pridobite parameter »Status« skupaj z ID-jem. Določite ta dva parametra v URI-ju Workbench, ki sta ločena z »&«.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )globalni razred RestApi_Get_Record {
// REST - Pridobite metodo
@ httpGet
globalni statični primer getCaseDetails ( ) {
// Ustvari predmet za Predmet primera
Primer case_obj = nov primer ( ) ;
Zemljevid < Niz, niz > id_param = RestContext.request.params;
Zemljevid < Niz, niz > status_param = RestContext.request.params;
// Pridobite id_param v case_id
Niz case_id = id_param.get ( 'input_id' ) ;
// Pridobite status_param v case_status
Niz case_status =status_param.get ( 'stanje' ) ;
case_obj = [ izberite id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
vrnitev case_obj;
}
}
URI in rezultat:
Pojdite na Workbench in se pomaknite do REST Explorerja. Podajte input_id kot 5002t00000PdzqwAAB in status kot »Closed« v URI.
/ storitve / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & stanje =Zaprto
Zaključek
Razpravljali smo o treh scenarijih pridobivanja zapisov Salesforce prek Salesforce REST API z uporabo Workbench. Če želite vrniti določen zapis, moramo določiti sObject tako, da podamo ID kot parameter v URI. Podobno posredujemo poizvedbene parametre, da dobimo določene zapise. Z uporabo Apexa lahko ustvarimo lastno metodo »Get« za izbiro zapisa na podlagi enega/več parametrov.