如何将数据从ContainerRequestFilter传递到Jersey框架中的资源

Mad*_*ddy 5 jax-rs jersey

我试图使用ContainerRequestFilter为我的其余webservice应用程序验证输入请求.一旦请求通过身份验证,我需要传递一个对象来获取所有信息.有人可以让我知道我们怎样才能做到这一点?

谢谢你的帮助..

〜MS

jgm*_*jgm 10

在您的过滤器中,您需要引入servlet请求:

@Context
private transient HttpServletRequest servletRequest;
Run Code Online (Sandbox Code Playgroud)

并将您的数据存储为属性:

this.servletRequest.setAttribute("My data", myObject);
Run Code Online (Sandbox Code Playgroud)

然后在资源中,您可以引入servletRequest并使用:

Object myObject = this.servletRequest.getAttribute("My data");
Run Code Online (Sandbox Code Playgroud)

  • 出于好奇……你为什么将 HttpServletRequest 标记为瞬态? (2认同)