Vi introduserer Workbench
Workbench er ikke et offisielt Salesforce.com-produkt. Men vi vil bruke Salesforce til å utføre datamanipuleringsoperasjonene som å velge, sette inn, sette inn, oppdatere og slette ved bare å logge på Salesforce-kontoen din (støtter både Sandbox og Production). Dette er den offisielle nettsiden for å logge på Workbench med Salesforce: https://workbench.developerforce.com/login.php .
Fra nå, hold API-versjonen som eksisterende, og klikk på 'Logg på med Salesforce'-knappen.
Vi trenger REST Explorer. Naviger til 'verktøy'-fanen og klikk på 'REST Explorer'.
Du vil se brukergrensesnittet som i følgende illustrasjon. Vi må velge GET for å hente postene fra Salesforce i hele denne veiledningen. Vi må spesifisere URIen som henter Salesforce-postene og klikke på 'Utfør'-knappen.
Hent spesifikk post med Salesforce ID
Basert på Salesforce-post-ID-en kan vi hente hele Salesforce-posten. Vi må angi URI som følger:
/ tjenester / data / v56.0 / sukter / objektAPI-navn / idHer er 'objectAPIName' Salesforce Standard/Custom-objektet og 'id' refererer til Salesforce ID.
Komme tilbake:
Du vil få HTTP/1.1 200 OK råsvar i JSON-formatet som i følgende:
{'attributter' : {
'type' :
'url' :
} ,
'felt' : Verdi,
...
}
Eksempel:
I dette eksemplet henter vi saksposten 5005i00000W4GM5AAN.
TYPE: / tjenester / data / v56.0 / sukter / Sak / 5005i00000W4GM5AANResultat:
Vi kan se at svaret genereres i JSON-format.
Vi kan også se resultatene direkte herfra:
Hent flere poster med Query
Det er på tide å hente flere poster fra Salesforce-objektet. Tidligere spesifiserte vi subjektene i URIen. Her må vi spesifisere en spørring som tar spørringen som en parameter.
URI: tjenester / data / v57.0 / spørsmål / ? q =VELG+felt1,felt2,....+fra+ObjektAPInavnVi må bruke '+' som skilletegn for å slå sammen søkeordene i en spørring. Den returnerer totalSize og registrerer i en mappe. Mappenavnet for hver post er [Item 1],...[Item n].
Eksempel 1:
La oss returnere postene som inkluderer Saksnummer, status, prioritet og beskrivelse fra Saksobjektet.
Resultat:
Når du klikker på 'Utvid alle', vil du se alle postene med dens attributter og verdier.
La meg vise de første og siste postene:
Eksempel 2:
La oss bare returnere tre poster med de samme feltene som i det første eksemplet.
Resultat:
De to første postene som finnes i Saksobjektet returneres.
Eksempel 3:
La oss spesifisere WHERE-betingelsen i spørringen som velger postene med 'Ny'-status.
Resultat:
Det finnes fem poster med «Ny»-status.
Egendefinert hvileressurs i Apex
Vi kan bruke Salesforce Apex som returnerer posten fra Salesforce-objektet ved å spesifisere URI i Workbench. For å skrive REST i Apex, må vi bruke noen merknader som får tilgang til REST API i Apex-klassen din. Sørg for at Apex-klassen vår må være globalt statisk.
1. @RestResource Annotation
Denne merknaden brukes til å aktivere som viser en Apex-klasse som en REST-ressurs. Den tar urlMapping som en parameter som brukes til å finne URIen i Workbench.
Syntaks: @RestResource(urlMapping=’/Versjon/ApexClassName/’)
'Versjonen' er din Workbench-versjon som V56.0 og 'ApexClassName' er Apex-klassen din der Rest API-ressursene er involvert.
2. @HttpGet Annotation
Denne merknaden brukes til å aktivere som viser en Apex-klasse som en REST-ressurs. Det kalles når en HTTP GET-forespørsel sendes til serveren og returnerer den angitte ressursen.
Syntaks: @httpGet
Eksempel 1: Single Param
Skriv 'RestApi_Get_Record.apxc' Apex-klassen som involverer 'Rest Get'-metoden for å returnere ID, CaseNumber, status, prioritet og opprinnelse fra sak fra saksobjektet.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )global klasse RestApi_Get_Record {
// HVILE - Få metode
@ httpHent
global statisk sak getCaseDetails ( ) {
// Lag objekt til Saksobjekt
Sak case_obj = ny sak ( ) ;
Kart < String, String > paramsMap = RestContext.request.params;
// Hent sak id
String caseid =paramsMap.get ( 'input_id' ) ;
// SOQL-spørring som vil komme tilbake id ,Saksnummer,Status,Prioritet,Opprinnelse fra Sak fra
// Saksobjektet
case_obj = [ plukke ut id ,Saksnummer,Status,Prioritet,Opprinnelse fra sak hvor Id =:saksid ] ;
komme tilbake case_obj;
}
}
URI og resultat:
Gå til Workbench og naviger til REST Explorer. Send ID-en som 5002t00000Pdzr2AAB til input_id-parameteren.
/ tjenester / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Forklaring:
- Opprett et objekt for «case_obj»-saken.
- Få parameterne ved å bruke RestContext.request.params.
- Hent saks-ID fra parameteren input_id og lagre dette i caseid-variabelen.
- Skriv SOQL-spørringen som returnerer ID, CaseNumber, status, prioritet, opprinnelse fra sak fra saksobjektet til 'caseid'-saken.
- Returner saksobjektet (case_obj).
Eksempel 2: Flere parametere
Bruk den forrige Apex-klassen og få 'Status'-parameteren sammen med ID-en. Spesifiser disse to parameterne i Workbench URI som er atskilt med '&'.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )global klasse RestApi_Get_Record {
// HVILE - Få metode
@ httpHent
global statisk sak getCaseDetails ( ) {
// Lag objekt til Saksobjekt
Sak case_obj = ny sak ( ) ;
Kart < String, String > id_param = RestContext.request.params;
Kart < String, String > status_param = RestContext.request.params;
// Få id_param inn i case_id
String case_id = id_param.get ( 'input_id' ) ;
// Få status_param inn i case_status
String case_status =status_param.get ( 'status' ) ;
case_obj = [ plukke ut id ,Saksnummer,Status,Prioritet,Opprinnelse fra sak hvor Id =:saksid og Status =: saksstatus ] ;
komme tilbake case_obj;
}
}
URI og resultat:
Gå til Workbench og naviger til REST Explorer. Send input_id som 5002t00000PdzqwAAB og statusen som 'Closed' i URI.
/ tjenester / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & status =Stengt
Konklusjon
Vi diskuterte tre scenarier for å hente Salesforce-postene gjennom Salesforce REST API ved å bruke Workbench. For å returnere en spesifikk post, må vi spesifisere sObject ved å sende id som parameter i URI. På samme måte sender vi spørringsparametrene for å få spesifikke poster. Ved å bruke Apex kan vi lage vår egen 'Get'-metode for å velge posten basert på enkelt-/flere parametere.