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