我們為本系列開發的定製小組件是基於 WebSphere V7.0 支援的 Business Space(以下簡稱 Business Space)中附帶的 Dojo 版本,已經在 Mozilla Firefox 3.0.11 中測試過了。只是,我們開發的通用架構概念甚至可以應用到使用 Dojo 的應用程式中,但卻不能用於 Business Space。學習本系列需要具備 DOJO 和 iWidget 架構的基本知識。
我們將討論在基於 Dojo 的應用程式中經常遇到的主題。本系列分為以下幾部分:
第 1 部分:使用通用的 markup 處理常式產生 DOJO markup
第 2 部分:使用通用的網格處理常式建立具有分頁功能的 Dojo DataGrid 組件
第 3 部分:在 iWidget 中使用多個模板和從基本小組件繼承
第 4 部分:使用通用 REST 處理常式從 iWidget 發出可配置的 REST 調用
在第 4 部分,您將學習如何使用一個通用 REST 處理常式從 iWidget 調用一個 REST 服務,該 REST 處理常式基於以下原理設計:
REST URI 通常是動態,且在調用 REST 服務之前 URI(URL 參數)的一部分將被 iWidget 動態替換。我們的設計根據相應的 REST 關鍵字從 JSON 檔案讀取 REST URI。
查詢參數是動態替代的。
REST 處理常式目前支援 JSON,但是根據需要很容易增強,支援 XML 和其他類型。
REST 處理常式支援 GET、POST/RAWPOST、PUT、RAWPUT 和 DELETE 操作,也支援檔案上傳和下載操作。
在本文中,我們將介紹 REST 處理常式的實現以及在您的 iWidget 中如何使用它。
以下檔案在 Part4SampleCode.zip 中提供 下載:
JSONRestHandler.js:通用 REST 處理常式 Javascript 類。
restURI.json:包含 REST URI 的 JSON 檔案。
testJSONRestHandler.js:Javascript 類,展示如何在您的代碼中使用 JSONRestHandler。
處理常式的實現
JSONRestHandler Javascript 類載入 loadRESTConfig( ) 方法中含有 REST URI 資訊的 JSON 檔案。
loadRESTConfig() 方法接受以下參數:
type:操作類型,如 GET/POST/PUT,等等。
restCallKey:JSON 檔案中的 keyName,例如 EmployeeList。
restEndPoint:運行 REST 應用程式的 REST 端點;例如 http://<server>:<ip>/restAPI。
loadMethod:此方法在 REST URI 成功載入時調用。
errorMethod:如果調用 REST URI 出現錯誤,該方法被調用。
syncFlag:REST 調用應該是同步或非同步(true 或 false)。
thisVar:調用類的引用。
parameters:含有 3 個變數(urlParameters、queryParameters、content)。如果 URI 有 URL 或查詢參數,該對象需要用相應的值進行設定。
只有在 POST 請求時內容才被發送。