46.4. 使用资源方法
概述
资源方法使用 JAX-RS 注释进行注释。它们有一个 HTTP 方法注解,指定方法进程的请求类型。JAX-RS 在资源方法上放置多个约束。
常规限制
所有资源方法都必须满足以下条件:
- 它必须是公共。
- 它必须使用 “指定 HTTP 动词”一节 中描述的 HTTP 方法注解之一进行解码。
- 它不能有多个实体参数,如 “参数”一节 所述。
参数
实体参数- 未注解参数。其值从请求实体正文映射。entity 参数可以是您的应用程序具有实体供应商的任何类型的。它们通常是 JAXB 对象。
重要资源方法 只能有一个 实体参数。
有关实体供应商的更多信息,请参阅 第 51 章 实体支持。
注释的参数-nnotated 参数使用其中一个 JAX-RS 注释来指定从请求中映射参数的值。通常,参数的值从请求 URI 的部分映射。
有关使用 JAX-RS 注释将请求数据映射到方法参数的更多信息,请参阅 第 47 章 将信息传递给资源类和方法。
例 46.4 “带有有效参数列表的资源方法” 显示具有有效参数列表的资源方法。
例 46.4. 带有有效参数列表的资源方法
@POST @Path("disaster/monster/giant/{id}") public void addDaikaiju(Kaiju kaiju, @PathParam("id") String id) { ... }
例 46.5 “带有无效参数列表的资源方法” 显示带有无效参数列表的资源方法。它有两个没有注解的参数。
例 46.5. 带有无效参数列表的资源方法
@POST @Path("disaster/monster/giant/") public void addDaikaiju(Kaiju kaiju, String id) { ... }
返回值
资源方法可以返回以下之一:
-
void
应用具有实体提供程序的任何 Java 类
有关实体供应商的更多信息,请参阅 第 51 章 实体支持。
Response
对象有关
Response
对象的更多信息,请参阅 第 48.3 节 “微调应用程序的响应”。A
GenericEntity<T>
object有关
GenericEntity<T>
; 对象的更多信息,请参阅 第 48.4 节 “使用通用类型信息返回实体”。
所有资源方法都向请求者返回 HTTP 状态代码。当方法返回类型为 void
或返回的值为 null
时,资源方法会将 HTTP 状态代码设置为 204
。当资源方法返回 null
以外的任何值时,它会将 HTTP 状态代码设置为 200
。