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