創建非常簡單的 Jersey REST 服務並從 Java 客戶端發送 JSON 數據

已發表: 2013-11-29

Crunchify REST 服務示例

最近我必須將 JSON 數據傳遞給 REST 服務,並且手邊沒有任何簡單的客戶端。 但是創建了非常簡單的 Java 程序,它從文件中讀取 JSON 數據並將其發送到 REST 服務。

具象狀態轉移 (REST) 作為基於 SOAP 和 Web 服務描述語言 (WSDL) 的 Web 服務的更簡單替代方案,已在 Web 上獲得廣泛認可。 界面設計這一轉變的關鍵證據是主流 Web 2.0 服務提供商(包括 Yahoo、Google 和 Facebook)採用 REST,他們棄用或傳遞了基於 SOAP 和 WSDL 的界面,轉而支持更易於使用、面向資源的模型來公開他們的服務。 在本文中,Alex Rodriguez 向您介紹了 REST 的基本原理。

讓我們開始編寫代碼:

  1. 創建 RESTFul Web 服務
    • Java 文件:CrunchifyRESTService.java
    • web.xml 文件
  2. 創建 RESTService 客戶端
    1. CrunchifyRESTServiceClient.java 文件

另一個必須閱讀: Spring MVC 示例/教程:Hello World – Spring MVC 3.2.1

第1步

Eclipse => File => New => Dynamic Web Project中。 將其命名為“ CrunchifyTutorials ”。 下面的教程也適用於Tomcat 8

創建動態 Web 項目

RESTServiceClient 的新動態 Web 項目 - Crunchify

步驟 2 創建部署描述符文件

如果您在WebContent\WEB-INF\下沒有看到web.xml (部署描述符),請按照以下步驟操作。

打開web.xml並將內容替換為以下內容:

Step-3 將項目轉換為 Maven 項目

遵循本教程:https://crunchify.com/how-to-convert-existing-java-project-to-maven-in-eclipse/。 這是我的 pom.xml 文件。

第四步

創建 RESTFul 服務: CrunchifyRESTService.java 。 在這裡,我們將創建兩個服務:

  1. /api/crunchifyService – POST 調用 – 我們將在測試中使用它
  2. /api/verify - GET 調用 - 只是為了確保服務成功啟動

第 5 步

在 Tomcat 上部署項目CrunchifyTutorials 。 應毫無例外地部署 Web 項目。

  1. 在 Eclipse 中右鍵單擊Servers tab
  2. 單擊Add and Remove...項目
  3. 將 Project CrunchifyTutorials 添加到右側Configured:側。
  4. 點擊Publish
  5. 點擊Start

Step-6 驗證 REST 服務

應該可以使用以下 URL 訪問休息服務:http://127.0.0.1:8080/CrunchifyTutorials/api/verify

CrunchifyREST 服務啟動成功

如果您嘗試訪問 http://127.0.0.1:8080/CrunchifyTutorials/api/crunchifyService 那麼您將看到錯誤代碼405 - Method not allowed - 這是有效的響應。 正如您所看到的,它是 POST 調用,並且應該期望請求中包含一些數據。

404 方法不允許 - 期望數據與 POST 調用

讓我們繼續前進。

第 7 步

複製下面的 JSON 內容並將其放在 Windows 的C:\\CrunchifyJSON.txt文件或 Macbook 的/Users/<username>/Documents/CrunchifyJSON.txt文件下。

步驟 8

創建 REST 調用客戶端: CrunchifyRESTServiceClient.java.

請在下面的程序中change path to CrunchifyJSON.txt

第 9 步

現在讓我們通過右鍵單擊 CrunchifyRESTServiceClient.java 來運行客戶端程序,您應該會看到以下兩個輸出

1) 在 Tomcat 控制台中

REST 服務 Tomcat 端日誌 - 完整的 JSON

2) 在本地客戶端控制台中

Crunchify REST 服務調用成功