如何使用Annotations拦截Jersey中的请求?

时间:2016-08-10 11:07:42

标签: java rest annotations jersey intercept

我正在使用Jersey来构建基于标准注释的路由的REST API。

我的问题是,如何使用“自定义注释”(在本例中为@InternalOnly)拦截请求并在 之前运行代码 请求到达资源并执行 // DO STUFF 块?

@Path("app")
@Produces(MediaType.APPLICATION_JSON)
public final class SomeResource {

    @GET
    @Path("something")
    @InternalOnly
    public Response getSomething() {

        // DO STUFF
    }
}

然后我会有另一个类来处理 @InternalOnly 标题......

public final class InternalOnlyHandler implements SomethingProbably {

    public void handle(Object someContext) {

        // HANDLE INTERNAL ONLY AUTHENTICATION
    }
}

我的目的基本上是我需要某些API资源才能在内部提供,其他公共可用,并且身份验证对于两者都略有不同,因此注册简单的 ContainerRequestFilter 将无法完成工作。

我无法弄明白 - 请帮助!

0 个答案:

没有答案