Как расширить аннотацию контроллера Spring MVC?

1

Я хочу, чтобы такой код мог быть укушен. Как я могу сделать?

@Target(value=ElementType.TYPE)
@Retention(value=RetentionPolicy.RUNTIME)
@Controller
@RequestMapping(value=RSI.DEFAULT_MAPPING + mapping())
public @interface RSI {
  public final static String DEFAULT_MAPPING = "/RSI";
  public String mapping() default "";
}


@RSI(mapping="/XXX")
public class XXXRSI {
  • 0
    что ты хочешь делать? Объясни подробней?
  • 1
    @AHC Я хочу аннотацию RSI вместо Controller и RequestMapping. Путь начинается с / RSI
Показать ещё 1 комментарий
Теги:
spring-mvc

1 ответ

1
Лучший ответ

Spring использует несколько классов (в качестве компонентов, зарегистрированных в вашей конфигурации MVC) для регистрации и обработки методов обработчика, которые вы объявляете в классе @Controller. Два основных класса, на которые вы должны обратить внимание, - это RequestMappingHandlerMapping и RequestMappingHandlerAdapter.

У них нет встроенного способа сделать то, что вы предлагаете. Вам придется расширить эти типы (или написать новые с соответствующими интерфейсами) и зарегистрировать их, а не те, которые указаны выше. Это не тривиальная задача.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню