Vi presenterar Workbench
Workbench är inte en officiell Salesforce.com-produkt. Men vi kommer att använda Salesforce för att utföra datamanipuleringsoperationer som att välja, infoga, lägga upp, uppdatera och ta bort genom att bara logga in på ditt Salesforce-konto (stöder både Sandbox och Production). Detta är den officiella webbplatsen för att logga in Workbench med Salesforce: https://workbench.developerforce.com/login.php .
Från och med nu, behåll API-versionen som endast befintlig och klicka på knappen 'Logga in med Salesforce'.
Vi behöver REST Explorer. Navigera till fliken 'Utilities' och klicka på 'REST Explorer'.
Du kommer att se användargränssnittet som i följande illustration. Vi måste välja GET för att hämta posterna från Salesforce i hela den här guiden. Vi måste ange den URI som hämtar Salesforce-posterna och klicka på knappen 'Execute'.
Hämta specifik post med Salesforce ID
Baserat på Salesforces post-ID kan vi hämta hela Salesforces post. Vi måste ställa in URI enligt följande:
/ tjänster / data / v56.0 / snyftar / objektAPInamn / idHär är 'objectAPIName' Salesforce Standard/Custom-objektet och 'id' refererar till Salesforce ID.
Lämna tillbaka:
Du kommer att få råsvaret HTTP/1.1 200 OK i JSON-formatet som i följande:
{'attribut' : {
'typ' :
'url' :
} ,
'fält' : Värde,
...
}
Exempel:
I det här exemplet hämtar vi ärendeposten 5005i00000W4GM5AAN.
TYP: / tjänster / data / v56.0 / snyftar / Fall / 5005i00000W4GM5AANResultat:
Vi kan se att svaret genereras i JSON-format.
Vi kan också se resultaten direkt härifrån:
Hämta flera poster med Query
Det är dags att hämta flera poster från Salesforce-objektet. Tidigare har vi angett subjekten i URI:n. Här måste vi specificera en fråga som tar frågan som en parameter.
URI: tjänster / data / v57.0 / fråga / ? q =VÄLJ+fält1,fält2,....+från+ObjektAPInamnVi måste använda '+' som avgränsare för att sammanfoga sökorden i en fråga. Det returnerar totalSize och registrerar i en mapp. Mappnamnet för varje post är [Artikel 1],...[Artikel n].
Exempel 1:
Låt oss returnera de poster som inkluderar CaseNumber, status, prioritet och beskrivning från Case-objektet.
Resultat:
När du klickar på 'Expandera alla' kommer du att se alla poster med dess attribut och värden.
Låt mig visa de första och sista posterna:
Exempel 2:
Låt oss bara returnera tre poster med samma fält som i det första exemplet.
Resultat:
De två första posterna som finns i Case-objektet returneras.
Exempel 3:
Låt oss ange WHERE-villkoret i frågan som väljer posterna med statusen 'Ny'.
Resultat:
Det finns fem poster med statusen 'Ny'.
Anpassad restresurs i Apex
Vi kan använda Salesforce Apex som returnerar posten från Salesforce-objektet genom att ange URI i Workbench. För att skriva REST i Apex måste vi använda några anteckningar som kommer åt REST API i din Apex-klass. Se till att vår Apex-klass måste vara globalt statisk.
1. @RestResource Annotation
Den här anteckningen används för att aktivera som exponerar en Apex-klass som en REST-resurs. Den tar urlMapping som en parameter som används för att lokalisera URI:n i Workbench.
Syntax: @RestResource(urlMapping=’/Version/ApexClassName/’)
'Versionen' är din Workbench-version som V56.0 och 'ApexClassName' är din Apex-klass där Rest API-resurserna är inblandade.
2. @HttpGet Annotation
Den här anteckningen används för att aktivera som exponerar en Apex-klass som en REST-resurs. Den anropas när en HTTP GET-begäran skickas till servern och returnerar den angivna resursen.
Syntax: @httpGet
Exempel 1: Single Param
Skriv 'RestApi_Get_Record.apxc' Apex-klassen som involverar metoden 'Rest Get' för att returnera id, CaseNumber, status, prioritet och ursprung från case från Case-objektet.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )global klass RestApi_Get_Record {
// REST - Get Method
@ httpHämta
global static Case getCaseDetails ( ) {
// Skapa objekt för Fallobjekt
Fall case_obj = nytt fall ( ) ;
Karta < String, String > paramsMap = RestContext.request.params;
// Få den fall id
Sträng caseid =paramsMap.get ( 'input_id' ) ;
// SOQL-fråga som kommer lämna tillbaka id ,CaseNumber,Status,Priority,Ursprung från Case from
// Case-objektet
case_obj = [ Välj id ,CaseNumber,Status,Priority,Ursprung från Fall där Id =:caseid ] ;
lämna tillbaka case_obj;
}
}
URI och resultat:
Gå till Workbench och navigera till REST Explorer. Skicka id som 5002t00000Pdzr2AAB till input_id param.
/ tjänster / spetsstöd / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Förklaring:
- Skapa ett objekt för 'case_obj'-fallet.
- Hämta parametrarna med hjälp av RestContext.request.params.
- Hämta case-id från parametern input_id och lagra detta i caseid-variabeln.
- Skriv SOQL-frågan som returnerar id, CaseNumber, status, prioritet, ursprung från case från Case-objektet i 'caseid'-fallet.
- Returnera fallobjektet (case_obj).
Exempel 2: Flera parametrar
Använd den tidigare Apex-klassen och få 'Status'-parametrar tillsammans med ID:t. Ange dessa två parametrar i Workbench-URI:n som är åtskilda av '&'.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )global klass RestApi_Get_Record {
// REST - Get Method
@ httpHämta
global static Case getCaseDetails ( ) {
// Skapa objekt för Fallobjekt
Fall case_obj = nytt fall ( ) ;
Karta < String, String > id_param = RestContext.request.params;
Karta < String, String > status_param = RestContext.request.params;
// Hämta id_param till case_id
Sträng case_id = id_param.get ( 'input_id' ) ;
// Hämta status_param till case_status
String case_status =status_param.get ( 'status' ) ;
case_obj = [ Välj id ,CaseNumber,Status,Priority,Ursprung från ärende där Id =:case_id och Status =: case_status ] ;
lämna tillbaka case_obj;
}
}
URI och resultat:
Gå till Workbench och navigera till REST Explorer. Ange input_id som 5002t00000PdzqwAAB och statusen som 'Stängd' i URI:n.
/ tjänster / spetsstöd / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & status =Stängt
Slutsats
Vi diskuterade tre scenarier för att hämta Salesforce-posterna genom Salesforce REST API med Workbench. För att returnera en specifik post måste vi specificera sObject genom att skicka id som parameter i URI:n. På samma sätt skickar vi frågeparametrarna för att få specifika poster. Med Apex kan vi skapa vår egen 'Hämta' -metod för att välja posten baserat på enstaka/flera parametrar.