我希望能够使用尽可能多的参数调用注释,如下所示:
@Authorize("Admin", "Moderator", "User")
public static void read() {
// ...
}
到目前为止,这是我的注释:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Authorize {
String[] value() default {};
}
但您可能知道,这只适用于:
@Authorize
@Authorize("Admin")
@Authorize({"Admin", "Moderator", "User"})
事实上,前两个对我来说很好,这是困扰我的最后一个。
原因很简单。
对于权利,我希望一种方法可用于许多配置文件,{} 表示“WITH”,我正在寻找“OR”;)
(在我看来){} 的意思是“WITH”,因为它是“作为一个包”出现的。项目链接在一起。例如,如果你采取这个:
SomeQuery.select({"A", "B", "C"}, {"D", "E", "F"}, {"G", "H", "I"})
我会将其翻译为:
SELECT WHERE (A, B, C) OR (D, E, F) OR (G, H, I);
(这不是一些 SQL 查询,只是我如何看待 {} 和 With/Or 的一个示例)
谢谢!