gpt4 book ai didi

java - 如何使用常量输入多个@CrossOrigin?

转载 作者:行者123 更新时间:2023-11-30 07:02:04 24 4
gpt4 key购买 nike

我的几个 Controller 上有一个 @CrossOrigin 注释。我希望能够在某处设置一个static final 并让它们全部引用它。像这样的东西:

public static final String[] ORIGINS = {"domain1","domain2"};
...
@CrossOrigin(origins = ORIGINS)

但是,我显然有一些语法错误。

解决方案对于那些有兴趣做同样事情的人,这就是我所做的:

@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@CrossOrigin(origins = {
"domain1",
"domain2"
})
@Controller
@interface CORSPermittedController {
}

这允许我用 @CORSPermissedController 注释我的所有 Controller

最佳答案

不幸的是,您无法使用 Java 语法来做到这一点。属性值必须是编译常量(原始、String 文字或这些类型的数组)。

但是您可以编写一个 Bean 后处理器,负责在运行时使用 javassist 将此注释放在类上.

关于java - 如何使用常量输入多个@CrossOrigin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40746708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com