第 47 章 将信息传递给资源类和方法
摘要
JAX-RS 指定多个注释,供开发人员控制传递到资源的信息的位置。注解符合 URI 中的常见 HTTP 概念,如列表参数。标准 API 允许对方法参数、bean 属性和资源类字段使用注解。Apache CXF 提供了一个扩展,允许将一系列参数注入 Bean。
47.1. 注入数据的基础知识
概述
使用 HTTP 请求消息中的数据初始化的参数、字段和 bean 属性,它们的值由运行时注入它们。注入的特定数据由 第 47.2 节 “使用 JAX-RS API” 中描述的一组注解指定。
JAX-RS 规范对数据注入时进行一些限制。它还对请求数据可以注入的对象类型进行一些限制。
当数据被注入时
当请求因请求实例化时,请求数据会被注入到对象中。这意味着,只有与资源直接对应的对象才能使用注入注解。如 第 46 章 创建资源 所述,这些对象可以是带有 @Path
注释的 root 资源,也可以是从子资源 locator 方法返回的对象。
支持的数据类型
数据可以注入的特定一组数据类型取决于用来指定注入的数据源的注解。但是,所有注入注解至少支持以下数据类型:
-
原语,如
int
、char
或long
-
具有接受单个
String
参数的构造器的对象 -
具有静态
valueOf ()
方法的对象,它接受单个String
参数 - List<T>, Set<T>, 或 SortedSet< T > objects,其中 T 满足列表中的其他条件
注意
如果注入注解对支持的数据类型有不同的要求,则会在讨论注解中突出显示差异。