如何在Jersey中的RequestFilter中获取资源对象

时间:2015-01-22 12:57:04

标签: java jersey

据我所知,可以使用注入的ResourceInfo获取资源类和方法,但我需要在请求过滤器中执行我的资源类的某些方法,所以我需要获取此对象。

或许在这种情况下获取确切对象的整个想法是错误的?

UPD: 以下是对原始问题的描述:

例如,我有一个返回所有用户的资源,它也可以为特定用户返回一个子资源:

@Path("users") public class UsersResource {
    @GET List<User> getUsers() {...}
    @Path("{id}") UserSubresource getById(PathParam("id") String id) {
        return new UserSubresource(getUserById(id));
    }
}

这是UserSubresource:

public class UserSubresource {
    User user;

    @GET public User getUser() {return user;}
    ...
    public boolean isAccessible() {
        return user.isAccessibleByCurrentUser();
    } 
}

我需要检查getUser()方法的访问权限,在找到实际用户之前我无法检查权限。 我知道我可以在getUser()方法本身中添加此检查,但这种情况对于我的应用程序中的其他实体是相同的,所以我想要更常见的解决方案。

0 个答案:

没有答案