尽管 Java API for RESTful Web Services (JAX-RS) 运行时环境包括多个用于处理
Java 类型的序列化和反序列化的实体提供程序,但它并不支持所有可能的介质类型。您可以开发定制实体提供程序,以便将 Java 类型与消息体绑定。
关于此任务
如果 JAX-RS Web 应用程序要求支持 JAX-RS API 所不支持的附加
Java 类型或介质类型,那么您可以对该应用程序添加定制实体提供程序。任何定制实体提供程序都优先于
JAX-RS 运行时环境中包括的实体提供程序。与资源不同,提供程序始终是单实例 Bean。
过程
- 配置开发环境。
- 在开始开发 JAX-RS 应用程序之前,您必须通过将 JAX-RS 库添加到类路径来设置开发环境。
- 在 JAX-RS Web 应用程序中定义资源。
- 资源是 RESTful 服务的基本构建块。资源可以包含静态数据或动态更新的数据。在线书店应用程序中的资源示例包括书籍、来自书店的订单以及一组用户。通过在应用程序中标识资源,可以使服务更有用更易于开发。
- 配置 JAX-RS 应用程序。
根据您的需要,可以通过多种方式来配置 JAX-RS 应用程序。要利用 Java™ Platform,
Enterprise Edition (Java EE)
6 功能,您可以使用注释扫描功能。
通过使用注释扫描,您可以省略 JAX-RS javax.ws.rs.core.Application 子类或具有已至少定义的 javax.ws.rs.core.Application 子类。此外,如果要使用 IBM® JAX-RS Servlet 和过滤器中可用的功能,那么您可以指定 IBM JAX-RS Servlet 或过滤器。
通过使用其中一个 JAX-RS V1.1 配置方法,您可以在应用程序中省略 javax.ws.rs.core.Application 子类或具有用于返回空类集的 javax.ws.rs.core.Application 子类,以通知 JAX-RS 运行时环境查找并使用应用程序中的所有 JAX-RS 类。当您在开发应用程序时,如果您不想将每一个相关 JAX-RS 类都手动添加到 javax.ws.rs.core.Application 子类,那么您可能要使用此方法。
通过指定特定的 IBM JAX-RS Servlet 和过滤器,您可以利用 IBM JAX-RS 并确保其特定的行为。例如,使用 IBM JAX-RS 过滤器有助于混合利用具有相同 URL 模式的 JAX-RS 资源与 JavaServer Pages (JSP) 文件来开发 Web 应用程序。
即使有支持使用可选 web.xml 文件的 JAX-RS V1.1 配置方法,如果要指定安全性约束或角色,或者如果要使用 web.xml 文件来利用已启用的其他功能,那么必须在 web.xml 文件中指定该信息。
选择以下 3 个方法中的一个来配置 JAX-RS 应用程序:
- 实现定制实体格式。
- 如果 JAX-RS Web 应用程序要求支持 JAX-RS API 所不支持的附加 Java 类型或介质类型,那么您可以对该应用程序添加定制实体提供程序。
- 组装 JAX-RS Web 应用程序。
- 为 JAX-RS Web 应用程序开发 Java 类文件并编辑 web.xml 文件以启用 JAX-RS Servlet
之后,您已准备好组装应用程序。请将 Web 应用程序组装成 Web 应用程序归档 (WAR) 包。在有需要时,可以将 WAR 包组装成企业归档 (EAR) 包。
- 部署 JAX-RS Web 应用程序。
- 在组装 JAX-RS Web 应用程序之后,需要将 Web 归档 (WAR) 包或企业归档 (EAR) 包部署到应用程序服务器。
结果
您已开发并部署了包含定制实体提供程序的 JAX-RS Web 应用程序。