程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> WebSphere >> 在WebSphere Cast Iron中使用JSON(三) 設計基於JSON的REST API

在WebSphere Cast Iron中使用JSON(三) 設計基於JSON的REST API

編輯:WebSphere

簡介

WebSphere Cast Iron(後面簡稱為 Cast Iron)被廣泛用於遍及內部和外部應用程序的集成和遷移。過去,JSON  被普遍用作 REST API 的傳輸類型,因為與 XML 相比,它的格式是輕量級的。

在 Cast Iron 中,您可以創建和公開一個基於 JSON 的 API,這是一個以 JSON 格式接受請求並發送響應的整合流程。Cast Iron 使用了 XML 和XML 模式。Cast Iron 引入了兩個用來處理 JSON 數據的新活動:Read JSON 和 Write JSON。這些活動在整合流程的創建過程中非常有用,該整合流程代表 Cast Iron 中基於 JSON 的 API。本文將介紹如何創建一個作為 API 公開的整合流程,此 API 可接收和發出 JSON 數據。

構建一個基於 JSON 的 API 在 Cast Iron 中添加兩個數字

在此場景中,您將學習如何公開一個 REST API,它通過使用 Read JSON 和 Write JSON 活動接收帶有兩個數字的請求,並在 JSON 消息中發送輸入數字的總和作為響應。樣例請求和響應 JSON 消息如表 1 所示。

您必須構建整合流程來完成上述場景。該整合流程充當了一個基於 JSON 的 REST API,以便將兩個數字添加到外部世界,如圖 1 所示。

圖 1. 添加兩個數字 - API 整合流程設計

Receive Input Numbers(Receive 請求)接收包含兩個需要添加的數字的 JSON 請求。表 2 展示了完成 Receive Input Numbers 活動的檢查清單的步驟。

Convert to XML 活動 (Read JSON) 將 JSON 格式數據轉換成 XML:

通過完成下列步驟來配置 Read JSON。您必須使用 JSON 消息來配置 JSON 活動。從 Configure 窗口中選擇 Use JSON or XML Message 選項作為消息類型,如圖 2 所示。

圖 2. 配置 Convert to XML 活動

查看本欄目

將請求 JSON 消息復制到文本區,如表 1 所示,然後單擊 Generate Output Map。這會生成 Read JSON  輸出參數,可在 Map Outputs 窗口查看這些參數,如圖 3 所示。在圖 3 中,對於給定的請求 JSON 消息,已經生成了各自的 XML 模式並根據 Map Output 進行填充,這使得數據(將要添加的)的映射和處理變得非常容易。

圖 3. Convert to XML Activity Map Input

從 Checklist 面板中選擇 Map Inputs。單擊 Select Inputs 按鈕,然後選擇 body  作為輸入變量,如圖 4 所示。單擊 Ok。

圖 4. Convert to XML Map Input - 選擇輸入

在選擇輸入變量之後,將輸入變量映射到 jsonText,如圖 5 所示。

圖 5. Convert to XML Map Inputs  - 映射

從 Checklist 中選擇 Map Outputs。單擊 Copy,然後選擇映射輸出參數,以便根據該活動的輸出參數創建一個新變量。將創建的變量重命名為 Numbers,如圖 6 所示。在圖 7 的右上面板中,Numbers 以藍色高亮顯示。  

圖 6. Convert to XML Map Outputs – 創建輸出變量

圖 7 顯示執行必要映射後的 Outputs 窗口。

圖 7. Convert to XML Map Outputs – 映射

查看本欄目

使用映射變量添加數字和映射:

將 Map Variable 活動從 Transforms 拖放到工作流面板中。單擊 Select  Inputs 來選擇變量 Numbers,該變量已在 Convert to XML Map Outputs (Read JSON)  中創建。現在,我們擁有了要添加的值。

創建類型為 “Decimal” 的變量結果。需要使用這個變量來保存 Add 函數的結果。

拖放 Add 函數。將 Number1 和 Number2 映射到  Add 函數,然後將 Add 函數的結果映射到 result 變量(參見圖 8),該變量是在步驟 b 中創建的。

圖 8. 添加兩個數字

現在,添加和配置 JSON 活動 (Write JSON):

通過完成下列步驟配置 Write JSON 活動。當使用 JSON 消息來配置 JSON 活動時,從 Configure 窗口中選擇 Use JSON or XML Message 選項作為消息類型。將 JSON 或 XML 消息復制到文本區並單擊 Generate Map,如圖 9 所示。此時將會生成 Write JSON 輸入參數,可在 Map Input 區域查看該參數,如圖 10 所示。          

圖 9. 配置 Convert to JSON Activity

在 Checklist 窗格中單擊 Map Inputs,然後單擊 Select Inputs 按鈕選擇輸入變量 result。將 result 映射到 Result XML 變量,如圖 10 所示。

圖 10. Convert to JSON Map Inputs

單擊 Map Outputs 並復制 JSON 文本創建一個新變量 resultInJsonFormat,如圖 11 所示。您可以將結果發送回來,或者可以使用 “resultInJsonFormat” 配置下一個活動。

圖 11. Convert to JSON Map Outputs

Send Result 活動 (HTTP Send Reply) 以 JSON 格式發送結果摘要。表 3 中的檢查清單表明您應該將 resultInJsonFormat 映射到主體。

查看本欄目

測試 API

要測試 API,請完成下列步驟:

單擊 Project 選項卡,右鍵單擊 Orchestration name,然後單擊 Start Orchestration,如圖 12 所示。

圖 12. Start CustomAPI 整合流程

單擊 Tools 菜單並選擇 HTTP Post Utility 來調用 API。HTTP Post 窗口將會出現。將您的請求 JSON 消息(如 表 1 所示)粘貼到文本框 Post a message 中。在 HTTP Receive Request Activity 中輸入配置的 URL,然後選擇方法 POST。單擊 Submit 按鈕發布請求,如圖 13 所示。

圖 13. HTTP Post Utility

等待服務器響應。當您獲得該響應時,可以在 HTTP Post Utility 響應中看到輸出,如圖 13 所示。

結束語

在本系列第 3 部分中,您學習了如何使用 Read JSON 和 Write JSON 活動創建自定義的基於 JSON 的 API,並最終通過在 Appliance 或 Cast Iron Live 上部署它們向外部世界公開它們。您還按照 本系列文章 中的使用說明,學習了如何使用 XML 模式或樣例 JSON 消息來配置 Read JSON 和 Write JSON 活動。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved