Rufen Sie Datensätze mithilfe der Rest-API in Salesforce ab

Rufen Sie Datensatze Mithilfe Der Rest Api In Salesforce Ab



In diesem Leitfaden besprechen wir, wie Sie die Salesforce-Datensätze mit der REST-API über Workbench in Salesforce abrufen. Im Rahmen dieses Leitfadens besprechen wir die Verwendung von Workbench, das Abrufen bestimmter Datensätze mithilfe von sObject und das Abrufen mehrerer Datensätze aus einem Objekt mithilfe der Abfrage sowie das Abrufen von Datensätzen durch Schreiben der benutzerdefinierten Apex-REST-API. Zur Demonstration verwenden wir das Salesforce-Standardfallobjekt. Es ist nicht erforderlich, im Salesforce-Backend einen Falldatensatz zu erstellen. Wir verwenden den vorhandenen Standard-Falldatensatz, der von Salesforce bereitgestellt wird.

Wir stellen vor: Workbench

Workbench ist kein offizielles Salesforce.com-Produkt. Aber wir werden Salesforce nutzen, um Datenmanipulationsvorgänge wie Auswählen, Einfügen, Upsert, Aktualisieren und Löschen durchzuführen, indem wir uns einfach bei Ihrem Salesforce-Konto anmelden (unterstützt sowohl Sandbox als auch Produktion). Dies ist die offizielle Website zum Anmelden bei Workbench mit Salesforce: https://workbench.developerforce.com/login.php .

Behalten Sie ab sofort nur die API-Version bei und klicken Sie auf die Schaltfläche „Mit Salesforce anmelden“.









Wir benötigen den REST Explorer. Navigieren Sie zur Registerkarte „Dienstprogramme“ und klicken Sie auf „REST Explorer“.







Sie sehen die Benutzeroberfläche wie in der folgenden Abbildung. In diesem gesamten Handbuch müssen wir uns für GET entscheiden, um die Datensätze von Salesforce abzurufen. Wir müssen den URI angeben, der die Salesforce-Datensätze abruft, und auf die Schaltfläche „Ausführen“ klicken.



Rufen Sie einen bestimmten Datensatz mit der Salesforce-ID ab

Basierend auf der Salesforce-Datensatz-ID können wir den gesamten Salesforce-Datensatz abrufen. Wir müssen den URI wie folgt festlegen:

/ Dienstleistungen / Daten / v56.0 / Objekte / objectAPIName / Ausweis

Hier ist „objectAPIName“ das Salesforce-Standard-/Custom-Objekt und „id“ bezieht sich auf die Salesforce-ID.

Zurückkehren:

Sie erhalten die HTTP/1.1 200 OK-Rohantwort im JSON-Format wie folgt:

{
„Attribute“ : {
'Typ' :
„URL“ :
} ,
'Feld' : Wert,
...
}

Beispiel:

In diesem Beispiel rufen wir den Falldatensatz 5005i00000W4GM5AAN ab.

TYP: / Dienstleistungen / Daten / v56.0 / Objekte / Fall / 5005i00000W4GM5AAN

Ergebnis:

Wir können sehen, dass die Antwort im JSON-Format generiert wird.

Die Ergebnisse können wir auch direkt hier einsehen:

Rufen Sie mehrere Datensätze mit einer Abfrage ab

Es ist Zeit, mehrere Datensätze aus dem Salesforce-Objekt abzurufen. Zuvor haben wir die Objekte im URI angegeben. Hier müssen wir eine Abfrage angeben, die die Abfrage als Parameter akzeptiert.

URI: Dienste / Daten / v57.0 / Anfrage / ? Q =SELECT+field1,field2,....+from+ObjectAPIName

Wir müssen „+“ als Trennzeichen verwenden, um die Schlüsselwörter in einer Abfrage zu verbinden. Es gibt die Gesamtgröße zurück und zeichnet in einem Ordner auf. Der Ordnername für jeden Datensatz lautet [Element 1],…[Element n].

Beispiel 1:
Lassen Sie uns die Datensätze zurückgeben, die CaseNumber, Status, Priorität und Beschreibung aus dem Case-Objekt enthalten.

/ Dienstleistungen / Daten / v57.0 / Anfrage / ? Q =SELECT+Fallnummer,Status,Priorität,Beschreibung+von+Fall

Ergebnis:

Wenn Sie auf „Alle erweitern“ klicken, werden alle Datensätze mit ihren Attributen und Werten angezeigt.

Lassen Sie mich den ersten und den letzten Datensatz zeigen:

Beispiel 2:
Lassen Sie uns nur drei Datensätze mit denselben Feldern zurückgeben wie im ersten Beispiel.

/ Dienstleistungen / Daten / v57.0 / Anfrage / ? Q =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

Ergebnis:
Die ersten beiden Datensätze, die im Case-Objekt vorhanden sind, werden zurückgegeben.

Beispiel 3:
Geben wir die WHERE-Bedingung in der Abfrage an, die die Datensätze mit dem Status „Neu“ auswählt.

/ Dienstleistungen / Daten / v57.0 / Anfrage / ? Q =SELECT+Fallnummer,Status,Priorität,Beschreibung+von+Fall+wo+ Status = 'Neu'

Ergebnis:

Es sind fünf Datensätze mit dem Status „Neu“ vorhanden.

Benutzerdefinierte Restressource in Apex

Wir können den Salesforce-Apex verwenden, der den Datensatz vom Salesforce-Objekt zurückgibt, indem wir den URI in der Workbench angeben. Um REST in Apex zu schreiben, müssen wir einige Annotationen verwenden, die auf die REST-API in Ihrer Apex-Klasse zugreifen. Stellen Sie sicher, dass unsere Apex-Klasse global statisch sein muss.

1. @RestResource-Annotation

Diese Annotation wird verwendet, um zu ermöglichen, dass eine Apex-Klasse als REST-Ressource verfügbar gemacht wird. Es verwendet urlMapping als Parameter, der zum Auffinden des URI in der Workbench verwendet wird.

Syntax: @RestResource(urlMapping=’/Version/ApexClassName/’)

Die „Version“ ist Ihre Workbench-Version wie V56.0 und „ApexClassName“ ist Ihre Apex-Klasse, an der die Rest-API-Ressourcen beteiligt sind.

2. @HttpGet-Anmerkung

Diese Annotation wird verwendet, um zu ermöglichen, dass eine Apex-Klasse als REST-Ressource verfügbar gemacht wird. Es wird aufgerufen, wenn eine HTTP-GET-Anfrage an den Server gesendet wird und die angegebene Ressource zurückgibt.

Syntax: @httpGet

Beispiel 1: Einzelner Param

Schreiben Sie die Apex-Klasse „RestApi_Get_Record.apxc“, die die Methode „Rest Get“ einbezieht, um die ID, CaseNumber, den Status, die Priorität und den Ursprung des Falls aus dem Case-Objekt zurückzugeben.

@ RestResource ( URLMapping = '/v56.0/RestApi_Get_Record/' )
globale Klasse RestApi_Get_Record {

// REST – Get-Methode
@ httpGet
globaler statischer Fall getCaseDetails ( ) {

// Objekt erstellen für Fallobjekt
Fall case_obj = neuer Fall ( ) ;
Karte < Zeichenfolge, Zeichenfolge > paramsMap = RestContext.request.params;

// Bekommen das Fall Ausweis
String caseid =paramsMap.get ( 'input_id' ) ;

// SOQL-Abfrage, die das wird zurückkehren Ausweis ,Fallnummer,Status,Priorität,Ursprung aus Fall von
// das Case-Objekt
case_obj = [ wählen Ausweis ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
zurückkehren case_obj;
}
}

URI und Ergebnis:

Gehen Sie zur Workbench und navigieren Sie zum REST Explorer. Übergeben Sie die ID als 5002t00000Pdzr2AAB an den Parameter input_id.

/ Dienstleistungen / Apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Erläuterung:

  • Erstellen Sie ein Objekt für den Fall „case_obj“.
  • Rufen Sie die Parameter mit RestContext.request.params ab.
  • Rufen Sie die Fall-ID aus dem Parameter input_id ab und speichern Sie diese in der Variablen caseid.
  • Schreiben Sie die SOQL-Abfrage, die die ID, die CaseNumber, den Status, die Priorität und den Ursprung des Falls aus dem Case-Objekt des „caseid“-Falls zurückgibt.
  • Gibt das Fallobjekt (case_obj) zurück.

Beispiel 2: Mehrere Parameter

Nutzen Sie die vorherige Apex-Klasse und rufen Sie den Parameter „Status“ zusammen mit der ID ab. Geben Sie diese beiden Parameter im Workbench-URI an, getrennt durch „&“.

@ RestResource ( URLMapping = '/v56.0/RestApi_Get_Record/' )
globale Klasse RestApi_Get_Record {

// REST – Get-Methode
@ httpGet
globaler statischer Fall getCaseDetails ( ) {

// Objekt erstellen für Fallobjekt
Fall case_obj = neuer Fall ( ) ;
Karte < Zeichenfolge, Zeichenfolge > id_param = RestContext.request.params;
Karte < Zeichenfolge, Zeichenfolge > status_param = RestContext.request.params;

// Holen Sie sich den id_param in die case_id
Zeichenfolge case_id = id_param.get ( 'input_id' ) ;
// Holen Sie sich den status_param in den case_status
Zeichenfolge case_status =status_param.get ( 'Status' ) ;

case_obj = [ wählen Ausweis ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
zurückkehren case_obj;
}
}

URI und Ergebnis:

Gehen Sie zur Workbench und navigieren Sie zum REST Explorer. Übergeben Sie die input_id als 5002t00000PdzqwAAB und den Status als „Geschlossen“ im URI.

/ Dienstleistungen / Apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & Status =Geschlossen

Abschluss

Wir haben drei Szenarien zum Abrufen der Salesforce-Datensätze über die Salesforce-REST-API mithilfe von Workbench besprochen. Um einen bestimmten Datensatz zurückzugeben, müssen wir das sObject angeben, indem wir die ID als Parameter im URI übergeben. Ebenso übergeben wir die Abfrageparameter, um bestimmte Datensätze zu erhalten. Mit Apex können wir unsere eigene „Get“-Methode erstellen, um den Datensatz basierend auf einzelnen/mehreren Parametern auszuwählen.