使用 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 文件中