第 2 章 开发 Jakarta RESTful Web Services Web 服务
Jakarta RESTful Web 服务是 RESTful Web 服务的 Jakarta EE API。它提供对使用表示状态转移或使用注释"REST"构建 Web 服务的支持。这些注释简化了将 Java 对象映射到 Web 资源的过程。
RESTEasy 是红帽 JBoss 企业应用平台 7 实施 Jakarta RESTful Web 服务。JBoss EAP 7.3 及更高版本符合 Jakarta 企业 Web Services 1.4 和 Jakarta RESTful Web Services 2.1 Jakarta EE 规范。它们还为规范提供了额外的功能。
要开始使用 Jakarta RESTful Web 服务,请参阅红帽 JBoss 企业应用平台 7 随附的 helloworld 和 Kitchen -rs、jaxrs-clientsink 快速入门。
JBoss EAP 不支持 resteasy-crypto、resteasy-yaml-provider 和 jose-jwt 模块。
2.1. jakarta RESTful Web Services 应用 复制链接链接已复制到粘贴板!
在创建供应商和 Web 资源时,您可以使用以下命令来声明它们:
-
不带
web.xml 文件的javax.ws.rs.core.Application的简单子类别. -
使用
web.xml 文件. -
子类
javax.ws.rs.core.Application并提供自定义实施.
2.1.1. Simple Subclassing 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 方法返回一系列必须包含在发布的 Jakarta RESTful Web Services 应用程序中的类或单例集合。
-
如果
getClasses和getSingletons 返回了非空集合,则 Jakarta RESTful Web Services 应用中 只会 发布这些类和单例。 -
如果
getClasses和getSingletons 都返回一个空集合,则 Web 应用中打包 的所有 根资源类和提供程序 都包含 在 Jakarta RESTful Web Services 应用中。RESTEasy 随后将自动发现这些资源。