java-解决URI在Jersey中将匹配的资源方法

在我们的Jersey应用程序中,我们希望根据角色来展示/限制API的不同部分.具体来说,我们只想提供指向该角色可以访问的资源的链接-即,在准备响应A时,如果无论如何都不允许用户使用X,我们甚至不会提供到资源X的链接.

为了能够区分这些链接,我们希望能够询问Jersey如何解决某个URI(即,解析到哪个资源以及该资源上的哪种方法).如果能够做到这一点,我们还可以检测到它是否以不允许访问的方式(@RolesAllowed)进行了注释,因此,我们可以跳过在响应中添加链接到响应的过程.显然,Jersey具有此知识/能力,因为它可以解决传入的请求.

问题是:有没有办法问Jersey URI在类和方法方面将解决什么问题?

编辑:是的…我们注意到有一个ResourceContext(可以注入),可以为我们提供匹配的资源类…但是我们仍然找不到URI解决的方法.

解决方法:

托比亚斯,

ResourceContext.matchUriInfo(URI).getDeclaringResource()ResourceContext.matchUriInfo(URI).getMatchedMethod().getMethod()将满足您的要求.

上一篇:java-MappableContainerException中包含的异常


下一篇:Java相当于session_start(),session_destroy()和$_SESSION [‘username’]