第 2 章 开发 JAX-RS Web 服务
JAX-RS 是 RESTful Web 服务的 Java API。它通过使用注释,为使用 REST 构建 Web 服务提供支持。这些注释简化了将 Java 对象映射到 Web 资源的过程。
RESTEasy 是红帽 JBoss 企业应用平台 7 实施 JAX-RS,完全符合 JSR 370:适用于 RESTful Web 服务的 Java™ API(JAX-RS 2.1) 规范。它还为规范提供了额外的功能。
红帽 JBoss 企业应用平台的 7.3 版本还符合 Jakarta 企业 Web 服务 1.4 和 Jakarta RESTful Web Services 2.1 Jakarta EE 规范。
要开始使用 JAX-RS,请参阅红帽 JBoss 企业应用平台 7 提供的 helloworld
和 -rs
、jaxrs-clientkitchensink
快速入门。
JBoss EAP 不支持 resteasy-crypto
、resteasy-yaml-provider
和 jose-jwt
模块。
2.1. JAX-RS 应用 复制链接链接已复制到粘贴板!
在创建供应商和 Web 资源时,您可以使用以下命令来声明它们:
-
不带
web.xml 文件的
javax.ws.rs.core.Application
的简单子类别. -
使用
web.xml 文件.
-
子类
javax.ws.rs.core.Application
并提供自定义实施.
2.1.1. 简单子类 javax.ws.rs.core.Application 复制链接链接已复制到粘贴板!
您可以使用 javax.ws.rs.core.Application
类来创建声明这些提供程序和 Web 资源的子类。此类由 JBoss EAP 随附的 RESTEasy 库提供。
若要使用 javax.ws.rs.core.Application
配置资源或提供程序,只需创建一个扩展它的类并添加 @ApplicationPath
注释。
示例:应用程序类
2.1.2. 使用 web.xml 复制链接链接已复制到粘贴板!
或者,如果您不想创建扩展 javax.ws.rs.core.Application
的类,您可以将以下内容添加到您的 web.xml
文件中:
示例:web.xml
2.1.3. 带有自定义实现的子类 javax.ws.rs.core.Application 复制链接链接已复制到粘贴板!
在子类 javax.ws.rs.core.Application
时,您可以选择为任何现有方法提供自定义实施。getClasses
和 getSingletons
方法返回一系列必须包含在发布的 JAX-RS 应用中的类或单例集合。
-
如果
getClasses
和getSingletons 返回了
非空集合,则 JAX-RS 应用 中仅 发布了这些类和单例。 -
如果
getClasses
和getSingletons 都
返回一个空集合,则 Web 应用中打包 的所有 根资源类和提供程序 都包含 在 JAX-RS 应用中。RESTEasy 随后将自动发现这些资源。