Перекладено ШІ. Спільнота ще не перевірила. Читати англійською

Блог · 18 вересня 2023 р. · Steve Simpson · Інтеграція

Apex Web Service: будівельні блоки для вебчарівників

Вступ:

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

Діаграма: п’ять прикладів користувацьких вебсервісів Apex, що викликаються з Postman: GET, що повертає список записів, GET з об’єктом відповіді, GET з параметром, POST і POST із помилкою

Огляд користувацьких вебсервісів

Ми розглянемо п’ять прикладів користувацьких вебсервісів:

GET зі стандартним списком SObject: Отримання даних за допомогою стандартного списку SObject.

Обгортка з JSON-відповіддю: Покращення запиту GET обгортанням у JSON-відповідь.

Додавання параметрів: Введення параметрів у запит GET для точнішого отримання даних.

POST для вставлення: Реалізація запиту POST для вставлення даних.

Повернення повідомлення про помилку: Належна обробка й повернення повідомлень про помилки.

Реалізація користувацьких вебсервісів

Приклад 1: GET зі стандартним списком SObject

У цьому прикладі ми визначаємо REST-ресурс із користувацьким URI і вказуємо HTTP-дієслово (GET). Клас має бути оголошений як global, і ми повертаємо список стандартних акаунтів простим запитом.

Код Apex: REST-ресурс із методом GET, що запитує Accounts і повертає список зі стандартною серіалізацією

Приклад 2: обгортка з JSON-відповіддю

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

Код Apex: метод GET, що будує об’єкт відповіді зі списком клієнтів

Приклад 3: додавання параметрів

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

Код Apex: метод GET, що читає параметр customerid із запиту і повертає цього клієнта в об’єкті відповіді

Приклад 4: POST для вставлення

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

Код Apex: метод POST, що розбирає тіло запиту, вставляє Account і повертає статус успіху чи помилки

Приклад 5: повернення повідомлення про помилку

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

Код Apex: метод POST з обробкою помилок, що повертає повідомлення про помилку і HTTP-код статусу 500

Висновок

На цих прикладах ми показали базові будівельні блоки для створення користувацьких вебсервісів Apex у Salesforce. Почавши з простого запиту GET, ми поступово ускладнювали, додаючи параметри, запити POST і обробку помилок.

Слідкуйте за новинами

Дякую, що прочитали, і чекаю нагоди незабаром поділитися з вами новими пригодами, повними знань! Слідкуйте тут, на www.SteveTechArc.com, і на YouTube-каналі @SteveTechArc (opens in a new tab). Підпишіться й поглиблюйте розуміння Salesforce і того, як інтегрувати його з іншими системами.

Допомагаю змінювати світ, ділячись знаннями про інтеграцію з колегами-архітекторами і тими, хто йде до архітектури!

Транскрипт оброблено за допомогою ШІ

STA 1.8