Apex Web 服務:Web 魔法師的構建模組
引言:
在這篇部落格文章中,我將深入探討如何在 Salesforce 中構建自訂 Apex Web 服務。當你需要讓一個外部程序與 Salesforce 互動來讀取或寫入資料,而標準 REST API 又力不從心時,這些服務至關重要。我們將逐一講解五個例子,複雜度逐步提高,從標準查詢一直到更新。

自訂 Web 服務概覽
我們將探討五個自訂 Web 服務的例子:
**使用標準 SObject 清單的 GET:**用標準 SObject 清單獲取資料。
**帶 JSON 響應的包裝器:**用一個 JSON 響應包裝 GET 請求,加以增強。
**新增引數:**給 GET 請求引入引數,更精確地獲取資料。
**用 POST 插入:**實現一個用於插入資料的 POST 請求。
**返回錯誤訊息:**妥善處理並返回錯誤訊息。
實現自訂 Web 服務
示例 1:使用標準 SObject 清單的 GET
在這個例子中,我們定義一個帶有自訂 URI 的 REST 資源,並指定 HTTP 動詞(GET)。類應該宣告為 global,我們用一個簡單的查詢返回一個標準客戶清單。

示例 2:帶 JSON 響應的包裝器
為了控制發回給用戶端的資料,我們使用一個響應物件。我們返回的不是 SObject 清單,而是一個自訂響應物件的清單,用只包含 ID 和名稱的輕量方式來表示客戶。

示例 3:新增引數
當你需要某個特定客戶的資料時,引數必不可少。通過讀取 RestContext.params,你可以獲取客戶 ID,並把它用在 SOQL 的 WHERE 子句中來篩選資料。

示例 4:用 POST 插入
當你需要寫入資料時,就使用 POST 方法。在這個例子中,我們建立一個響應物件和一個請求物件。請求物件接收一個帶名稱的客戶,我們用 JSON 序列化器把請求序列化為一個特定的類。建立並插入一個新客戶後,返回一個成功狀態。

示例 5:返回錯誤訊息
這個例子與示例 4 類似,但加入了錯誤處理。出現異常時,錯誤會被捕獲並加入一個清單,狀態碼被設為 500(或任何你喜歡的數字)。

結論
通過這些例子,我們展示了在 Salesforce 中建立自訂 Apex Web 服務的基本構建模組。從一個簡單的 GET 請求開始,我們逐步提高複雜度,引入了引數、POST 請求和錯誤處理。
敬請關注
感謝閱讀,期待很快與你分享更多幹貨滿滿的探險!請繼續關注 www.SteveTechArc.com 和 YouTube 頻道 @SteveTechArc (opens in a new tab)。訂閱,加深你對 Salesforce 以及如何將它與其他系統整合的理解。
與架構師同行以及正走在架構師之路上的人分享整合知識,一起改變世界!
STA 1.8