教程:您的第一个 RESTful Web 服务
最后修改时间:2023 年 9 月 7 日本教程介绍如何在 IntelliJ IDEA 中创建简单的 RESTful Web 服务并将其部署到GlassFish应用服务器。Hello, World!
当您通过 Web 浏览器访问特定 URL 或以其他方式向该 URL 发送 GET 请求时,该服务将输出。使用本页顶部的切换器获取不同应用程序服务器的说明。
您将创建一个新的 Java Enterprise 项目,添加必要的 Java 代码,告诉 IntelliJ IDEA 您的GlassFish服务器所在的位置,然后使用运行配置来构建工件、启动服务器并将工件部署到其中。
这是您需要的:
- IntelliJ IDEA 旗舰版
免费的 IntelliJ IDEA 社区版不支持 Java 企业开发。有关更多信息,请参阅IntelliJ IDEA Ultimate 与 IntelliJ IDEA Community Edition
- 相关捆绑插件
默认情况下,所有必需的插件都在 IntelliJ IDEA Ultimate 中捆绑并启用。如果某些功能不起作用,请确保启用以下插件:
雅加达 EE 平台
Jakarta EE:应用程序服务器
Jakarta EE:Web/Servlet
Jakarta EE:RESTful Web 服务 (JAX-RS)
玻璃鱼
有关更多信息,请参阅安装插件。
- Java SE 开发工具包 (JDK) 版本 1.8 或更高版本
您可以直接从 IntelliJ IDEA 获取 JDK,如Java 开发工具包 (JDK)中所述,也可以手动下载并安装它,例如:Oracle JDK或OpenJDK。
- 玻璃鱼
GlassFish应用程序服务器版本 4.0 或更高版本。您可以从官方存储库获取最新版本。对于本教程的目的来说,Web 配置文件子集应该足够了。
笔记
本教程使用 Oracle OpenJDK 17、Jakarta EE 9.1 和 GlassFish 6.2.5。有关其他 GlassFish、Java 和 Jakarta EE 版本之间兼容性的更多信息,请参阅https://github.com/eclipse-ee4j/glassfish#compatibility。
- 雄猫
Tomcat应用程序服务器版本 7 或更高版本。
创建一个新的 Java 企业项目
IntelliJ IDEA 包含一个专用向导,用于创建基于各种 Java EE 和 Jakarta EE 实现的 Java Enterprise 项目。在本教程中,我们将创建一个简单的 Web 应用程序。
转到文件| 新 | 项目。
在“新建项目”对话框中,选择Jakarta EE。
输入您的项目的名称:
RestGlassfishHelloWorld
。对于本教程,使用 Oracle OpenJDK 17 作为项目SDK并选择REST 服务模板。不要选择或添加应用程序服务器,我们稍后会做。选择Java和Maven。单击“下一步”继续。在“版本”字段中,选择Jakarta EE 9.1,因为本教程中使用的 GlassFish 6.2.5 与该版本兼容。
提示
对于 GlassFish 5,选择Java EE 8规范。对于 GlassFish 7,选择Jakarta EE 10。
在依赖项列表中,选择以下项:
上下文和依赖注入 (CDI)
RESTful Web 服务 (JAX-RS)
服务程序
单击创建。
探索默认项目结构
IntelliJ IDEA 使用一些样板代码创建一个项目,您可以成功构建和部署该项目。
提示
使用“项目”工具窗口浏览并打开项目中的文件,或按并键入文件名。CtrlShift0N
pom.xml是包含 Maven 配置信息的项目对象模型,包括构建项目所需的依赖项和插件。
pom.xml
{...}HelloResource.java是一个根资源类,它使用以下 JAX-RS 注释来实现 RESTful Web 服务:
该
@Path
注释标识用于访问该资源(相对于应用程序根)的 URI。该
@GET
注释指示该hello()
方法将处理对指定 URI 的 HTTP GET 请求。该
@Produces
注释指定该方法生成和返回的 MIME 媒体类型。
src/main/java/com/example/RestGlassfishHelloWorld/HelloResource.java
{...}HelloApplication.java是 的子类
javax.ws.rs.core.Application
,用于配置应用程序运行资源类中定义的 REST 资源的环境。该@ApplicationPath
注释标识应用程序根的 URL 映射(默认情况下,它设置为/api
)。src/main/java/com/example/RestGlassfishHelloWorld/HelloApplication.java
{...}
配置应用服务器
让 IntelliJ IDEA 知道GlassFish应用程序服务器所在的位置。
按打开 IDE 设置,然后选择“构建”、“执行”、“部署”| 应用服务器。CtrlAlt0S
单击并选择Glassfish 服务器。
指定GlassFish服务器安装位置的路径。IntelliJ IDEA 会适当检测并设置名称和版本。
创建运行配置
IntelliJ IDEA 需要一个运行配置来构建工件并将其部署到您的应用程序服务器。
转到“运行”| 编辑配置。
在“运行/调试配置”对话框中,单击,展开Glassfish Server节点,然后选择“本地”。
修复运行配置设置对话框底部出现的任何警告。
最有可能的是,您需要修复以下问题:
在服务器选项卡上,将服务器域设置为
domain1
。在“部署”选项卡上,添加要部署的工件:
RestGlassfishHelloWorld:war exploded
在“服务器”选项卡上,将 URL 设置为指向根资源:
http://localhost:8080/RestGlassfishHelloWorld-1.0-SNAPSHOT/api/hello-world
单击“确定”保存运行配置。
要运行配置,请按并选择创建的应用程序服务器配置。AltShiftF10
或者,如果您在顶部的主工具栏中选择了运行配置,则可以按运行它。ShiftF10
此运行配置构建工件,然后启动GlassFish服务器,并将工件部署到服务器。您应该在“运行”工具窗口中看到相应的输出。
完成此操作后,IntelliJ IDEA 将在您的 Web 浏览器中打开指定的 URL。
如果没有,请尝试自己打开 URL:http://localhost:8080/RestGlassfishHelloWorld-1.0-SNAPSHOT/api/hello-world
故障排除
与 Jakarta EE 的兼容性
如果出现404
错误,请确保您在创建项目时选择了与您的 GlassFish 版本兼容的 Jakarta EE 规范版本。
有关更多信息,请参阅GlassFish 版本兼容性。
感谢您的反馈意见!