Требования - В существующем проекте мы хотим представить документацию для хранения api для отдыха.Добавить аннотацию ко всем контроллерам в игровой инфраструктуре с использованием глобального класса или отражения в Java
Задача - Мы не можем модифицировать каждый контроллер и способ.
Итак, ищем декоратор, который автоматически добавит аннотацию ко всему классу контроллера, а также добавит аннотацию к методам в зависимости от типа запроса.
Пробовал с отражениями java, но не смог найти никакой возможности добавить аннотацию.
public <A> A getControllerInstance(Class<A> clazz) {
Annotation[] annotations = clazz.getAnnotations();
// This check is used to suppress any annotation if it is not injected
// using spring DI. Example Security.Authenticated.
if (clazz.isAnnotationPresent(Component.class))
return ctx.getBean(clazz);
else
return null;
}
public Action onRequest(Request request, Method actionMethod) {
System.out.println("before each request..." + request.toString());
Object[] obj = actionMethod.getAnnotations();
return super.onRequest(request, actionMethod);
}
Возможный дубликат [http://stackoverflow.com/questions/1635108/adding-java-annotations-at-runtime](http://stackoverflow.com/questions/1635108/adding-java-annotations-at-runtime) – Mikey
Спасибо, используя javassist, я могу добавлять аннотации. Но чванство не работает. Любые предложения по внедрению swagger во время выполнения. – Div