Red Hat Training
A Red Hat training course is available for Red Hat Fuse
48.2. 返回普通 Java 结构
概述
在许多情形中,资源类可以返回标准的 Java 类型、JAXB 对象或应用具有实体提供程序的任何对象。在这些情况下,运行时使用所返回对象的 Java 类确定 MIME 类型信息。运行时还会决定要发送到消费者的适当 HTTP 返回代码。
可返回的类型
资源方法可以返回 void 或提供实体写入器的任何 Java 类型。默认情况下,运行时有以下供应商:
- Java 原语
-
Java 原语的数字表示
- JAXB 对象
“原生支持的类型”一节 列出默认支持的所有返回类型。“自定义写入器”一节 介绍如何实施自定义实体写入器。
MIME 类型
运行时首先检查 @Produces 注释的资源方法和资源类型,来确定返回的实体的 MIME 类型。如果找到了一项,它将使用注解中指定的 MIME 类型。如果没有找到资源实施指定的资源,它依赖于实体供应商来确定正确的 MIME 类型。
默认情况下,运行时分配 MIME 类型,如下所示:
-
Java 原语及其数字表示会被分配一个 MIME 型应用程序
/octet-stream。 -
JAXB 对象被分配了 MIME 型
application/xml。
应用程序可通过实施自定义实体供应商(如 “自定义写入器”一节 所述)来使用其他映射。
响应代码
当资源方法返回普通 Java 构造时,如果资源方法在没有引发异常的情况下,运行时会自动设置响应的状态代码。状态代码设置如下:
-
204(无内容)- 资源方法返回类型为void -
204(无内容)- 返回的实体的值是null -
200(OK)-- 返回实体的值不为空
如果在资源方法完成返回状态代码前抛出异常,如 第 50 章 处理例外 所述。