第 48 章 将信息返回给消费者
摘要
RESTful 请求要求将至少 HTTP 响应代码返回到使用者。在很多情况下,可以通过返回普通 JAXB 对象或 通用Entity
对象来满足请求。当资源方法需要返回附加元数据以及响应实体时,JAX-RS 资源方法可以返回包含任何所需 HTTP 标头或其他元数据的 Response
对象。
48.1. 返回类型
返回到使用者的信息决定了资源方法返回的确切对象类型。这似乎显而易见,但 Java 返回对象和返回给 RESTful 使用者之间的映射并非一对一。至少,除了任何响应实体正文外,还要求返回有效的 HTTP 返回代码。将 Java 对象内所含的数据映射到响应实体的映射由消费者要接受的 MIME 类型生效。
为了解决映射 Java 对象到 RESTful 响应消息的问题,可以将资源方法返回四种 Java 结构类型:
- 第 48.2 节 “返回普通 Java 结构” 使用由 JAX-RS 运行时确定的 HTTP 返回代码返回基本信息。
- 第 48.2 节 “返回普通 Java 结构” 使用由 JAX-RS 运行时确定的 HTTP 返回代码返回复杂信息。
-
第 48.3 节 “微调应用程序响应” 通过以编程方式确定 HTTP 返回状态返回复杂信息。
Response
对象也允许指定 HTTP 标头。 -
第 48.4 节 “返回包含通用类型信息的实体” 使用由 JAX-RS 运行时确定的 HTTP 返回代码返回复杂信息。
GenericEnitity
对象提供了更多与数据序列化的运行时组件相关的信息。