我正在使用 JAX-RS/Jersey 开发 WebService。
我设置了一个ContainerRequestFilter,其目的是验证用户。我只需要通过身份验证保护一些路径,其余的就可以提供给所有人。
我想通过我的 ContainerRequestFilter 中的 ExtendedUriInfo 检索 matchedResources/matchedResults,以便我可以检查路径是否应该受到保护。有没有一种方法可以创建一个过滤器,该过滤器在填充 ExtendedUriInfo 之后但在调用匹配的资源类和方法之前调用?
最佳答案
这是一个更一般的答案(例如,如果您正在使用另一个 jax-rs 实现,如 CXF):
只需在您的过滤器类中添加以下内容作为实例变量:
@Context
ResourceInfo info;
"javax.ws.rs.container.ResourceInfo is a new JAX-RS context which can be injected into filters and interceptors and checked which resource class and method are about to be invoked."
(来源:https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Basics#JAX-RSBasics-ResourceInfo)
关于java - 如何在 ContainerRequestFilter 中检索请求的匹配资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11811827/