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.

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.

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ą.

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.

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.

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ę).

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!
STA 1.8