Apex Web Service: будівельні блоки для вебчарівників
Вступ:
У цьому пості я заглиблюся в побудову користувацьких вебсервісів Apex у Salesforce. Ці сервіси вкрай важливі, коли вам потрібно, щоб зовнішній процес взаємодіяв із Salesforce для отримання чи запису даних, а стандартного REST API не вистачає. Ми пройдемо п’ять прикладів, що поступово ускладнюються, від стандартних запитів до оновлень.

Огляд користувацьких вебсервісів
Ми розглянемо п’ять прикладів користувацьких вебсервісів:
GET зі стандартним списком SObject: Отримання даних за допомогою стандартного списку SObject.
Обгортка з JSON-відповіддю: Покращення запиту GET обгортанням у JSON-відповідь.
Додавання параметрів: Введення параметрів у запит GET для точнішого отримання даних.
POST для вставлення: Реалізація запиту POST для вставлення даних.
Повернення повідомлення про помилку: Належна обробка й повернення повідомлень про помилки.
Реалізація користувацьких вебсервісів
Приклад 1: GET зі стандартним списком SObject
У цьому прикладі ми визначаємо REST-ресурс із користувацьким URI і вказуємо HTTP-дієслово (GET). Клас має бути оголошений як global, і ми повертаємо список стандартних акаунтів простим запитом.

Приклад 2: обгортка з JSON-відповіддю
Щоб контролювати дані, які повертаються клієнтові, ми використовуємо об’єкт відповіді. Замість списку SObjects ми повертаємо список користувацьких об’єктів відповіді — легке представлення клієнта лише з ID та назвою.

Приклад 3: додавання параметрів
Параметри необхідні, коли вам потрібні дані конкретного клієнта. Читаючи RestContext.params, ви можете отримати ID клієнта й використати його у клаузі WHERE SOQL для фільтрування даних.

Приклад 4: POST для вставлення
Коли треба записати дані, використовують метод POST. У цьому прикладі ми створюємо об’єкт відповіді й об’єкт запиту. Об’єкт запиту отримує клієнта з назвою, і ми використовуємо JSON-серіалізатор, щоб десеріалізувати запит у конкретний клас. Після створення й вставлення нового акаунта повертається статус успіху.

Приклад 5: повернення повідомлення про помилку
Цей приклад схожий на приклад 4, але містить обробку помилок. У разі винятку помилку перехоплюють, додають до списку, а код статусу встановлюють на 500 (чи будь-яке інше число на ваш вибір).

Висновок
На цих прикладах ми показали базові будівельні блоки для створення користувацьких вебсервісів Apex у Salesforce. Почавши з простого запиту GET, ми поступово ускладнювали, додаючи параметри, запити POST і обробку помилок.
Слідкуйте за новинами
Дякую, що прочитали, і чекаю нагоди незабаром поділитися з вами новими пригодами, повними знань! Слідкуйте тут, на www.SteveTechArc.com, і на YouTube-каналі @SteveTechArc (opens in a new tab). Підпишіться й поглиблюйте розуміння Salesforce і того, як інтегрувати його з іншими системами.
Допомагаю змінювати світ, ділячись знаннями про інтеграцію з колегами-архітекторами і тими, хто йде до архітектури!
Транскрипт оброблено за допомогою ШІ
STA 1.8