第 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
-
具有 buildor 的对象,它接受单个
String
参数 -
具有接受单个
String
参数的静态valueOf()
方法的对象 - list<T>、Set<T> 或 SortedSet< T > 对象,其中 T 满足列表中的其他条件
注意
如果注入注解对支持的数据类型有不同的要求,则会在讨论注解时突出显示区别。