【发布时间】:2016-04-27 17:44:19
【问题描述】:
假设我在 ABCResource 类上注释了 @Path("/abc"),Jersey 是否提供接口来回顾哪个类将处理即将到来的 uri,如下所示:
public Class getHandlerClassForURL(URL url), 通过使用 'abc' 调用,我希望 ABCResource.class 返回。
在泽西可以吗?
我需要这样的实用程序的原因是我必须提供一个实用程序来测试在真正的调用发生之前是否授权访问特定的菜单项(对应于@Path)。所以动态方式无济于事,例如uriInfo.getMatchedResources(),因为我不打算在“过滤器”或“拦截器”情况下这样做。
我想在泽西岛里面,应该有一个像 web.xml 中的<servlet-mapping> 这样的映射,实际上我确实找到了一个here,遗憾的是键值与我的需要相反。
【问题讨论】:
-
我不确定 Jersey,但您可以使用纯 Java 反射将注释值与路径值匹配 - 只要您有要检查的类的主列表。 this 有帮助吗?
-
您粘贴的链接类似于我的问题,但答案不适用于我的情况,因为我希望此方法被“静态”调用,即在有实际请求时不调用,因此取决于在注入的请求相关资源上。而反射是一种解决方案,如果泽西岛不提供这种方式,我可能不得不这样做。