是否可以创建具有反向/反向/否定逻辑的 Java 注释。
例如,我在 Javax 中创建了一个过滤器:
@Provider
@AuthBinding
public class AuthServerFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {...}
并创建了 AuthBinding
注释:
@NameBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface AuthBinding {
}
因此,只有其余带注释 @AuthBinding
的资源才会触发上述过滤器。
是否可以创建注释,以便将上述过滤器应用于除具有注释的资源之外的所有其余资源。
最佳答案
此类框架通过显式标记“事物”来工作。框架扫描类、对象、方法中的注释,然后运行相应的代码。
不存在“如果未给出注释 X,则根据 X 执行此或操作”的概念。
这不仅仅是技术。这是一个糟糕的设计理念!特别是在这样的 REST 资源上下文中,您的读者希望通过查看资源来了解他们需要了解的所有信息。
好吧,存在一种选择:您当然可以配置自己的过滤器或拦截器。这些可以在执行此操作之前检查所选资源是否具有特定注释。
关于Java注解否定逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473043/