52.2. 使用完整请求 URI
摘要
请求 URI 包含大量信息。大多数信息可以使用方法参数(如 第 47.2.2 节 “注入请求 URI 中的数据” 所述)来访问。但是,使用参数会强制对 URI 如何处理某些限制。使用参数访问 URI 的片段不提供对完整请求 URI 的资源访问权限。
您可以通过将 URI 上下文注入资源来提供对完整请求 URI 的访问权限。URI 作为 UriInfo 对象提供。UriInfo 界面以多种方式模拟 URI。它还可以将 URI 作为 UriBuilder 对象提供,允许您构建 URI 来返回到客户端。
52.2.1. 注入 URI 信息
概述
当作为 UriInfo 对象的类字段或方法参数使用 @Context
注释时,当前请求的 URI 上下文将注入到 UriInfo 对象中。
示例
将 URI 上下文注入类字段 显示通过注入 URI 上下文填充的字段的类。
将 URI 上下文注入类字段
import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.Path; ... @Path("/monstersforhire/") public class MonsterService { @Context UriInfo requestURI; ... }