在 RESTful 应用程序中定义资源
您可以使用 Java™ API for RESTful Web Services (JAX-RS) 来开发遵循具象状态传输 (REST) 原理的服务。RESTful 服务依赖于处理资源。资源可以包含静态数据或动态更新的数据。通过在应用程序中标识资源,可以使服务更有用更易于开发。
开始之前
确定要公开为 RESTful 服务的应用程序之后,必须先为 RESTful 应用程序定义资源。为应用程序定义资源之后,请考虑要公开的数据的类型。您可能已有一个关系数据库,该数据库中包含要公开给使用 REST 技术的用户的信息。您是否已定义了一组用于访问该数据的 Java 类?
例如,假定已定义了一个用于支持书店的应用程序。此应用程序当前有一个包含多个表的数据库,这些表定义了书籍集合中的各种项以及每本书的库存。在此示例中,可以通过多种方法在 RESTful 应用程序中表示数据库中的数据。其中一种方法是,将每个表视为独立的资源,因此 RESTful 请求中的每个动词都将映射至数据库对该表支持的操作,例如选择、插入、更新和删除。此示例是创建 RESTful 应用程序的一种简单方法。在描述如何定义资源 URL 模式、资源方法、HTTP 头和响应代码、介质类型以及资源的请求表示参数的文档中,也使用这种使用书店示例的方法。
为了让书店应用程序支持此数据库,可能已存在负责访问此数据库以及从每个表中检索数据的代码。尽管每个表中的行在逻辑上表示各个资源,但还是使用了访问器类来定义资源。实现 JAX-RS 应用程序文档提供了有关如何将这些类合并到 JAX-RS 应用程序中的更多详细信息。
另外,您可能还有更多要作为资源进行分发的静态内容,这些内容未驻留在数据库中。无论这是各种格式的文档的集合还是其他远程系统的基于资源的构面,通过使用 JAX-RS,您都可以分发来自多个源的内容。
关于此任务
资源是 RESTful 服务的基本构建块。来自在线书店应用程序的资源示例包括书籍、来自店铺的订单以及用户集合。
资源可通过 URL 进行寻址,并且,HTTP 方法可以对资源执行操作。资源可以具有使用不同格式(例如 XML 和 JSON)的多个表示。可以使用 HTTP 头和参数来传递与请求和响应相关的额外信息。
借助 JAX-RS,可以使用特定于 JAX-RS 的注释对现有的或新的简单 Java 对象 (POJO) 进行注释。带有 JAX-RS 注释的资源类和附注释的方法将根据 URI 模式启动。
过程
- 在应用程序中标识资源的类型。
- (可选)标识可以用作资源类的现有 Java 类。
- 为当前没有 Java 类的资源创建新的 Java 类。
结果
您已定义了要作为资源集合在应用程序中呈示的内容。
下一步做什么
根据所定义的资源不同,请参阅有关定义资源 URL 模式、资源方法、HTTP 头和响应码、介质类型以及资源的请求表示参数的信息,以便进一步了解用于为 JAX-RS 应用程序定义资源的其他步骤。