3

应该@Context HttpHeaders在一个Interceptor?

我创建了一个RestfulClasses扩展javax.ws.rs.core.Application和注释它的类@javax.ws.rs.ApplicationPath("/api")——所有这些都是非常标准的东西。

我还有一个类,添加到处理特定路径,它本身工作正常。问题是我想检查传入的 HTTP 标头,并且使用拦截器听起来很完美。

我的拦截器类有一个@Context HttpHeaders httpHeaders声明,但在@AroundInvoke方法中这个属性是空的。

我应该期望这个工作还是我错过了什么?还有其他方法吗?

4

1 回答 1

0

我找到了一种使用拦截器的方法:扩展一个具有成员的基类:

 @Context protected HttpHeaders headers;

还有一个 @AroundInvoke 方法,在调用任何方法之前检查标头。虽然它并不完全优雅。

Artem 的解决方案也有效,但我是该平台的新手,之前没有遇到过 servlet 过滤器。虽然我仍然更喜欢 web.xml 标记的注释,但它更优雅......

于 2012-04-27T14:17:01.230 回答