gpt4 book ai didi

java - @AliasFor 用于与 @Retention(RetentionPolicy.METHOD) 的接口(interface)?

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:44 33 4
gpt4 key购买 nike

所以我试图为

创建一个别名
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiResponses {
ApiResponse[] value();
}

我尝试过的,

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface targetTest {
@AliasFor(annotation = ApiResponses.class, attribute="value")
ApiResponse[] value()
default {
@ApiResponse(code = 200, message = "test1"),
@ApiResponse(code = 400, message = "test2"),
@ApiResponse(code = 404, message = "test3"),
@ApiResponse(code = 500, message = "test4")
};
}

当我使用时,这不会覆盖 ApiResponses 注释

@targetTest
doSomething()

有什么建议吗?

最佳答案

您需要在 TargetTest 上添加 @ApiResponses

@Target({ANNOTATION_TYPE, METHOD})
@Retention(RUNTIME)
public @interface ApiResponses {
ApiResponse[] value() default {};
}

@Target(METHOD)
@Retention(RUNTIME)
@ApiResponses
public @interface TargetTest {
@AliasFor(annotation = ApiResponses.class)
ApiResponse[] value() default {...};
}

关于java - @AliasFor 用于与 @Retention(RetentionPolicy.METHOD) 的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49503228/

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