如果我的注释是
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD})
public @interface RESTMonitor {
}
如果我在同一个类的类级别和方法级别上使用它。然后我如何限制它只执行一次。现在它被调用了两次。
答案 0 :(得分:0)
所以你有两个bindInterceptor()
次调用,这通常会导致调用两个不同的拦截器。但是如果你将同一个拦截器传递给两个调用,它们将被重复删除:
RESTMonitorMethodInterceptor interceptor = new RESTMonitorMethodInterceptor();
bindInterceptor(Matchers.annotatedWith(RESTMonitor.class), Matchers.any(), interceptor);
bindInterceptor(Matchers.any(), Matchers.annotatedWith(RESTMonitor.class), interceptor);
(我implemented此功能。)