使用 JAX-RS 和 Jersey 在 Java 中構建 RESTful 服務(攝氏到華氏和華氏到攝氏)

已發表: 2020-03-25
使用 JAX-RS 和 Jersey 構建 RESTFul 服務

您是否有以下查詢/問題之一?

  • 編寫一個 java REST 服務,將華氏溫度轉換為攝氏溫度,將攝氏度轉換為華氏溫度
  • REST with Java (JAX-RS) 使用 Jersey
  • Java中從華氏溫度到攝氏溫度的轉換
  • 帶學位轉換的家庭作業幫助(CtoF,FtoC)
  • 用於 RESTful Web 服務的 Java API
  • Web 服務——哪個是最好的 Java REST API?
  • Java的REST API?
  • ctof 和 ftoc 教程。 ctof 和 ftoc Java 教程
  • 使用 Java 技術創建 RESTful Web 服務
  • 用於 Java 的 RESTful Web API 框架

RESTful Service :具象狀態傳輸 (REST) 作為 SOAP 和基於 Web 服務描述語言 (WSDL) 的 Web 服務的更簡單替代方案,已在 Web 上獲得廣泛認可。

REST 定義了一組體系結構原則,您可以通過這些原則設計專注於系統資源的 Web 服務,包括各種用不同語言編寫的客戶端如何通過 HTTP 處理和傳輸資源狀態。 如果以使用它的 Web 服務的數量來衡量,REST 僅在最近幾年就已經成為一種主要的 Web 服務設計模型。 事實上,REST 已經對 Web 產生瞭如此大的影響,它主要取代了基於 SOAP 和 WSDL 的界面設計,因為它使用起來相當簡單。

RESTFul 對比SOAP 教程。

jax-rs-hello-world-example-crunchify

JAX-RS:

Java API for RESTful Web Services (JAX-RS),是一組用於開發人員 REST 服務的 API。 JAX-RS 是 Java EE6 的一部分,使開發人員能夠輕鬆開發 REST Web 應用程序。

球衣:

Jersey 是用於構建 RESTful Web 服務的開源、生產質量、JAX-RS (JSR 311) 參考實現。 但是,它也不僅僅是參考實現。 Jersey 提供了一個 API,以便開發人員可以擴展 Jersey 以滿足他們的需求。

讓我們通過以下步驟開始構建簡單的RESTful API

第1步

在 Eclipse => 文件 => 新建 => 動態 Web 項目中。 將其命名為“ CrunchifyRESTJerseyExample ”。

創建 Crunchify Eclipse 動態 Web 項目

確保您設置:

  • 目標運行時:Apache Tomcat v9.0
  • 動態網頁模塊版本:4.0

第2步

如果您沒有看到web.xml (部署描述符),請按照以下步驟操作。 要么

  • 右鍵單擊項目
  • 選擇Java EE Tools
  • 單擊Generate Deployment Descriptor Stub

這將在/WebContent/WEB-INF/文件夾下創建web.xml文件。

第三步

現在將 Project 轉換為Maven Project ,以便我們可以添加所需的 .jar 文件作為依賴項。

腳步:

  • 右鍵單擊項目
  • 點擊Configure
  • 選擇選項Convert to Maven Project
右鍵單擊項目
將任何項目轉換為 Maven 項目

只需單擊Finish button而不進行任何更改。

在 Eclipse 中為 Maven 項目創建 POM 文件

第四步

打開pom.xml文件並添加以下依賴項。

  • asm.jar
  • jersey-bundle.jar
  • json.jar
  • jersey-server.jar
Maven 依賴項 - Crunchify Jersey 教程 - jersey-server.pom.xml

這是我的pom.xml文件。

第 5 步

用這個更新你的 web.xml 文件。 這是我的web.xml文件副本:

第 6 步

  • 轉到Java Resources
  • 點擊源
  • 右鍵->新建->類
  • 包:com.crunchify.restjersey
  • 名稱:CtoFService

CtoFService.java

第 7 步

同樣的方式創建 FtoCService.java

FtoCService.java

步驟 8

現在讓我們清理 Eclipse 工作區並構建項目。

  • 對於上面的point 3 ,請使用these screenshots :Maven 構建,全新安裝。
  • 您應該會看到構建成功消息。

第 9 步

在 Tomcat 上部署項目CrunchifyRESTJerseyExample 。 如果您還沒有這樣做,這裡是有關如何在 Eclipse 上設置 Tomcat 的詳細步驟。

  • 轉到服務器選項卡
  • 右鍵單擊服務器
  • 單擊Add and Remove Projects
  • 從左側選擇項目,然後單擊Add
  • 點擊完成
在 Tomcat 上部署 CrunchifyRESTJerseyExample

第十步

  • 啟動 Tomcat 服務器 9.0
啟動 Tomcat 服務器 9.0

完整的項目結構:

Crunchify REST Jersey 教程 - 完整的項目結構

以下是 Java 構建路徑依賴項:

REST JAX-RS Jersey 構建路徑依賴項

確保您為此項目使用 JDK 1.8。 啟動 Java 9 – JAXB、JAX-WS、JAF、JTA、CORBA 模塊被刪除,您需要手動將這些模塊添加到您的 Maven pom.xml 文件中。

搞定。


現在讓我們測試一下 RESTful Web 服務。

測試 1: without參數的攝氏到華氏 Web 服務

鏈接: http://localhost:8080/CrunchifyRESTJerseyExample/crunchify/ctofservice/

c 到 f 網絡服務

測試 2: with參數的攝氏到華氏 Web 服務

c to f webservice 帶參數

測試 3: without參數的華氏到攝氏 Web 服務

f 到 c 網絡服務

測試 4: with參數的華氏到攝氏 Web 服務

帶參數的 f 到 c 網絡服務

RESTFul 客戶端示例:

  • 如何使用 Apache HttpClient 創建 RESTful Java 客戶端 - 示例
  • 如何使用 Java.Net.URL 創建 RESTful Java 客戶端 - 示例
  • 如何使用 Jersey 客戶端創建 RESTful Java 客戶端 - 示例

另一個必須閱讀:

  • CrunchifyJSONtoHTML.js – JSON 到 HTML 表格轉換器腳本
  • 如何以編程方式在 Java 中生成內存不足 (OOM)
  • 如何在一台服務器上運行多個 Tomcat 實例?
  • 如何在 Java 中從文件中讀取 JSON 對象 – Crunchify 教程

運行代碼時遇到問題?

一些分類步驟:

最初我使用jersey-core依賴。 但也添加了jersey-server依賴項以避免以下問題。

如果您遇到上述錯誤,請嘗試將以下 maven 依賴項添加到您的 pom.xml 文件中