第 52 章 获取和使用上下文信息
摘要
上下文信息包括资源 URI、HTTP 标头和其他无法使用其他注入注解的详细信息。Apache CXF 提供特殊的类,将所有可能的上下文信息放入单个对象。
52.1. 上下文简介
上下文注解
您可以使用 javax.ws.rs.core.Context
注释来指定上下文信息要注入到字段或资源方法参数中。注解某个上下文类型的字段或参数将指示运行时将适当的上下文信息注入注释的字段或参数。
上下文类型
表 52.1 “上下文类型” 列出可以注入的上下文信息的类型,以及支持它们的对象。
对象 | 上下文信息 |
---|---|
完整请求 URI | |
HTTP 消息标头 | |
可用于确定最佳表示变体或确定是否设置了一组条件的信息 | |
有关请求者安全的信息,包括正在使用的身份验证方案,如果请求频道安全,以及用户原则 |
可以使用上下文信息的位置
上下文信息可用于 JAX-RS 应用程序的以下部分:
- 资源类
- 资源方法
- 实体供应商
- 例外映射器
影响范围
使用 @Context
注释注入的所有上下文信息都特定于当前请求。在所有情况下,包括实体供应商和异常映射程序都是如此。
添加上下文
JAX-RS 框架允许开发人员扩展可以使用上下文机制注入的信息类型。您可以通过实施 Context<T> 对象并使用运行时注册来添加自定义上下文。