Есть ли способ реализовать аннотацию, чтобы самостоятельно изменить значение параметра?Изменение значения параметра пользовательской аннотации
Например:
Я хотел бы создать пользовательские RequestMapping аннотацию, чтобы избавиться от некоторых кодовых дубликатов.
Текущий код:
@RequestMapping("/this/is/duplicate/few/times/some")
public class SomeController {
}
И я хочу, чтобы создать что-то вроде этого
@Retention(RetentionPolicy.RUNTIME)
@RequestMapping()
public @interface CustomRequestMapping {
String value() default "";
@AliasFor(annotation = RequestMapping.class, attribute = "value")
String "/this/is/duplicate/few/times"+value();
}
Для того, чтобы уменьшить значение Mapping Запрос на это:
@CustomRequestMapping("/some")
public class SomeController {
}
К сожалению, я не могу найти способ сделать это компилируемым. Или, может быть, есть способ использовать аннотацию AliasFor для передачи параметра в целевой массив. Что-то вроде этого:
@Retention(RetentionPolicy.RUNTIME)
@RequestMapping()
public @interface CustomRequestMapping {
@AliasFor(annotation = RequestMapping.class, attribute = "value{1}")
String value() default "";
@AliasFor(annotation = RequestMapping.class, attribute = "value{0}")
String prefixPath() default "/this/is/duplicate/few/times";
}
Да. Я прочитал этот документ, когда искал решение. Мне было интересно, есть ли какой-нибудь хак, который заполнит мое требование – graczun