第 47 章 将信息传入资源类和方法

摘要

JAX-RS 指定多个注解,供开发人员控制传递给资源的信息来自的位置。该注解符合 URI 中的常见 HTTP 概念,如列表参数。标准 API 允许注解用于方法参数、bean 属性和资源类字段。Apache CXF 提供了一个扩展,允许将一系列参数注入到 Bean 中。

47.1. 注入数据的基础知识

概述

使用 HTTP 请求消息中的数据初始化的参数、字段和 bean 属性,它们的值可以通过运行时注入它们。注入的特定数据由一组注解指定,如 第 47.2 节 “使用 JAX-RS API”

在注入数据时,JAX-RS 规范对数据进行了一些限制。它还对对象类型施加一些限制,以请求数据可以注入到其中。

数据注入后

当请求因为请求实例化时,请求数据会被注入到对象中。这意味着,只有与资源直接对应的对象才能使用注入注解。如 第 46 章 创建资源 中所述,这些对象可以是一个使用 @Path 注释的根本原因或从子资源 locator 方法返回的对象。

支持的数据类型

数据可注入的特定数据类型取决于用来指定注入数据的源的注解。但是,所有注入注解都支持以下一组数据类型:

  • 原语,如 intcharlong
  • 具有 buildor 的对象,它接受单个 String 参数
  • 具有接受单个 String 参数的静态 valueOf() 方法的对象
  • list<T>、Set<T> 或 SortedSet< T > 对象,其中 T 满足列表中的其他条件
注意

如果注入注解对支持的数据类型有不同的要求,则会在讨论注解时突出显示区别。