Apex-Webdienste: Bausteine für Web-Zauberer:innen
Einführung:
In diesem Beitrag gehe ich darauf ein, wie man benutzerdefinierte Apex-Webdienste in Salesforce baut. Diese Dienste sind entscheidend, wenn ein externer Prozess mit Salesforce interagieren muss, um Daten zu lesen oder zu schreiben, und die Standard-REST-API nicht ausreicht. Wir gehen fünf Beispiele mit steigender Komplexität durch, von Standardabfragen bis zu Aktualisierungen.

Überblick über benutzerdefinierte Webdienste
Wir sehen uns fünf Beispiele benutzerdefinierter Webdienste an:
GET mit einer Standard-SObject-Liste: Daten mit einer Standard-SObject-Liste abrufen.
Wrapper mit JSON-Antwort: die GET-Anfrage verbessern, indem man sie in eine JSON-Antwort verpackt.
Parameter hinzufügen: der GET-Anfrage Parameter mitgeben, um gezieltere Daten abzurufen.
POST zum Einfügen: eine POST-Anfrage zum Einfügen von Daten umsetzen.
Fehlermeldungen zurückgeben: Fehlermeldungen sauber behandeln und zurückgeben.
Benutzerdefinierte Webdienste umsetzen
Beispiel 1: GET mit einer Standard-SObject-Liste
In diesem Beispiel definieren wir eine REST-Ressource mit einer benutzerdefinierten URI und geben das HTTP-Verb (GET) an. Die Klasse muss als global deklariert werden, und wir geben mit einer einfachen Abfrage eine Liste von Standard-Accounts zurück.

Beispiel 2: Wrapper mit JSON-Antwort
Um die Daten zu steuern, die an den Client zurückgehen, verwenden wir ein Antwortobjekt. Statt einer Liste von SObjects geben wir eine Liste benutzerdefinierter Antwortobjekte zurück, eine schlanke Darstellung eines Kunden mit nur ID und Name.

Beispiel 3: Parameter hinzufügen
Parameter sind unverzichtbar, wenn Sie Daten zu einem bestimmten Kunden brauchen. Über RestContext.params können Sie die Kunden-ID auslesen und in der WHERE-Klausel der SOQL-Abfrage zum Filtern verwenden.

Beispiel 4: POST zum Einfügen
Wenn Sie Daten schreiben müssen, verwenden Sie eine POST-Methode. In diesem Beispiel erstellen wir ein Antwortobjekt und ein Anfrageobjekt. Das Anfrageobjekt erhält einen Kunden mit Namen, und wir nutzen den JSON-Serializer, um die Anfrage in eine bestimmte Klasse zu serialisieren. Nach dem Anlegen und Einfügen eines neuen Accounts wird ein Erfolgsstatus zurückgegeben.

Beispiel 5: Fehlermeldungen zurückgeben
Dieses Beispiel ähnelt Beispiel 4, enthält aber eine Fehlerbehandlung. Tritt eine Ausnahme auf, wird der Fehler abgefangen, einer Liste hinzugefügt und der Statuscode auf 500 gesetzt (oder eine beliebige andere Zahl).

Fazit
Mit diesen Beispielen haben wir die grundlegenden Bausteine für benutzerdefinierte Apex-Webdienste in Salesforce gezeigt. Ausgehend von einer einfachen GET-Anfrage haben wir die Komplexität schrittweise erhöht, mit Parametern, POST-Anfragen und Fehlerbehandlung.
Bleiben Sie dran
Danke fürs Lesen, ich freue mich darauf, bald weitere wissensreiche Abenteuer mit Ihnen zu teilen! Bleiben Sie dran hier auf www.SteveTechArc.com und auf dem YouTube-Kanal @SteveTechArc (opens in a new tab). Abonnieren Sie und vertiefen Sie Ihr Verständnis von Salesforce und davon, wie Sie es mit anderen Systemen integrieren.
Die Welt ein Stück verändern, indem ich Wissen über Integration mit anderen Architekt:innen und allen auf dem Weg dorthin teile!
Transkript mit Unterstützung von KI
STA 1.8