第 48 章 将信息返回到 Consumer
摘要
RESTful 请求要求至少将 HTTP 响应代码返回到消费者。在很多情况下,可以通过返回普通 JAXB 对象或 GenericEntity
对象来满足请求。当资源方法需要返回其他元数据以及响应实体时,JAX-RS 资源方法可以返回包含任何需要 HTTP 标头或其他元数据的 Response
对象。
48.1. 返回类型
返回到使用者的信息决定了资源方法返回的确切对象类型。这似乎很明显,但 Java 返回对象和返回到 RESTful 使用者之间的映射不是一对一的。除了任何响应实体正文外,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
对象为运行时组件提供对数据序列化的更多信息。