例如,我用Javax创建了一个过滤器:
@Provider @AuthBinding public class AuthServerFilter implements ContainerRequestFilter { @Override public void filter(ContainerRequestContext requestContext) throws IOException {...}
并且创造了 AuthBinding 注释为:
AuthBinding
@NameBinding @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) public @interface AuthBinding { }
因此,上面的过滤器将仅为带有注释的rest资源触发 @AuthBinding .
@AuthBinding
没有“如果没有给出注释X,那么根据X做这个或那个”的概念。
好吧,有一个选择存在:你当然可以配置你自己的过滤器或拦截器。在这样或那样做之前,他们可以检查所选资源上是否有特定的注释。