Przetłumaczone przez AI. Jeszcze niesprawdzone przez społeczność. Czytaj po angielsku

Blog · 18 września 2023 · Steve Simpson · Integracja

Apex Web Service: podstawowe elementy dla czarodziejów sieci

Wprowadzenie:

W tym wpisie przyjrzę się budowie niestandardowych usług sieciowych Apex w Salesforce. Te usługi są kluczowe, gdy zewnętrzny proces musi współpracować z Salesforce przy odczycie albo zapisie danych, a standardowe REST API nie wystarcza. Przejdziemy przez pięć przykładów o rosnącej złożoności, od standardowych zapytań po aktualizacje.

Diagram: pięć przykładów niestandardowych usług sieciowych Apex wywoływanych z Postmana: GET zwracający listę rekordów, GET z obiektem odpowiedzi, GET z parametrem, POST oraz POST z błędem

Przegląd niestandardowych usług sieciowych

Przyjrzymy się pięciu przykładom niestandardowych usług sieciowych:

GET ze standardową listą SObject: pobieranie danych za pomocą standardowej listy SObject.

Opakowanie z odpowiedzią JSON: ulepszenie żądania GET przez opakowanie go odpowiedzią JSON.

Dodawanie parametrów: wprowadzenie parametrów do żądania GET, żeby pobierać bardziej konkretne dane.

POST do wstawiania: zaimplementowanie żądania POST do wstawiania danych.

Zwracanie komunikatu o błędzie: właściwa obsługa i zwracanie komunikatów o błędach.

Implementacja niestandardowych usług sieciowych

Przykład 1: GET ze standardową listą SObject

W tym przykładzie definiujemy zasób REST z niestandardowym URI i określamy metodę HTTP (GET). Klasa powinna być zadeklarowana jako global, a my zwracamy listę standardowych kont za pomocą prostego zapytania.

Kod Apex: zasób REST z metodą GET, która odpytuje konta i zwraca listę z domyślną serializacją

Przykład 2: opakowanie z odpowiedzią JSON

Żeby kontrolować dane odsyłane do klienta, używamy obiektu odpowiedzi. Zamiast zwracać listę SObjects, zwracamy listę niestandardowych obiektów odpowiedzi, które dają lekką reprezentację klienta, tylko z identyfikatorem i nazwą.

Kod Apex: metoda GET budująca obiekt odpowiedzi z listą klientów

Przykład 3: dodawanie parametrów

Parametry są niezbędne, gdy potrzebujesz danych konkretnego klienta. Odczytując RestContext.params, możesz pobrać identyfikator klienta i użyć go w klauzuli WHERE zapytania SOQL, żeby przefiltrować dane.

Kod Apex: metoda GET, która odczytuje z żądania parametr customerid i zwraca tego klienta w obiekcie odpowiedzi

Przykład 4: POST do wstawiania

Gdy trzeba zapisać dane, używa się metody POST. W tym przykładzie tworzymy obiekt odpowiedzi i obiekt żądania. Obiekt żądania otrzymuje klienta z nazwą, a my używamy serializatora JSON, żeby zdeserializować żądanie do konkretnej klasy. Po utworzeniu i wstawieniu nowego konta zwracany jest status powodzenia.

Kod Apex: metoda POST, która parsuje treść żądania, wstawia konto i zwraca status powodzenia albo błędu

Przykład 5: zwracanie komunikatu o błędzie

Ten przykład jest podobny do przykładu 4, ale obejmuje obsługę błędów. W razie wyjątku błąd jest przechwytywany, dodawany do listy, a kod statusu ustawiany na 500 (albo dowolną inną liczbę).

Kod Apex: metoda POST z obsługą błędów, zwracająca komunikat o błędzie i kod statusu HTTP 500

Podsumowanie

Na tych przykładach pokazaliśmy podstawowe elementy tworzenia niestandardowych usług sieciowych Apex w Salesforce. Zaczynając od prostego żądania GET, stopniowo zwiększaliśmy złożoność, wprowadzając parametry, żądania POST i obsługę błędów.

Bądźmy w kontakcie

Dziękuję za lekturę i nie mogę się doczekać kolejnych pełnych wiedzy przygód z tobą! Bądźmy w kontakcie tutaj, na www.SteveTechArc.com, i na kanale YouTube @SteveTechArc (opens in a new tab). Zasubskrybuj i pogłębiaj swoje zrozumienie Salesforce i tego, jak integrować go z innymi systemami.

Pomagam zmieniać świat, dzieląc się wiedzą o integracji z innymi architektami i z tymi, którzy są na drodze do architektury!

Transkrypcję wspomagała AI

STA 1.8