使用 JAX-RS 创建 REST 服务/微服务
REST(表述性状态转移)是一种基于 Web 标准和 HTTP 协议的架构风格,广泛用于构建可扩展、无状态且易于消费的 Web 服务。JAX-RS(Java API for RESTful Web Services)是 Java 提供的标准 API,通过注解简化了 RESTful Web 服务的开发和部署。JAX-RS 允许开发者使用 Java 类和方法快速创建 REST 端点,并将其映射到 HTTP 请求和响应。本文将详细介绍如何使用 JAX-RS 创建 REST 服务或微服务,包括项目设置、代码实现、部署和测试,并探讨相关框架的选择。
设置 JAX-RS 项目
要开始使用 JAX-RS 开发 REST 服务,你需要一个支持 Java EE 或 Jakarta EE 的应用服务器(如 WildFly、GlassFish 或 Payara),或者一个自带轻量级 HTTP 服务器的框架(如 Jersey 或 RESTEasy)。本文以标准的 Java EE 环境和 Maven 构建工具为例。
创建 Maven 项目
首先,使用 IDE(如 IntelliJ IDEA 或 Eclipse)或命令行创建 Maven 项目。运行以下命令生成一个基本的 Maven 项目结构:
mvn archetype:generate -DgroupId=com.example -DartifactId=restdemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
在 pom.xml
文件中添加 Jakarta EE 依赖,以包含 JAX-RS API:
<dependency><groupId>jakarta.platform</groupId><artifactId>jakarta.jakartaee-api</artifactId><version>9.0.0</version><scope>provided</scope>
</dependency>
provided
作用域表示依赖由应用服务器提供,避免在 WAR 文件中重复打包。
配置应用服务器
选择一个应用服务器,如 WildFly(由 Red Hat 支持的开源 Java EE 服务器)。确保服务器已安装并运行。对于 WildFly,可以通过 Maven 插件简化部署。添加以下插件到 pom.xml
:
<plugin><groupId>org.wildfly.plugins</groupId><artifactId>wildfly-maven-plugin</artifactId><version>4.0.0.Final</version>
</plugin>
创建 JAX-RS 应用类
JAX-RS 应用需要一个配置类,通常扩展 jakarta.ws.rs.core.Application