В качестве примера взять сопоставление поддоменов .
Эта статья:Управление несколькими доменами и поддоменами в Google App Engine для одного и того же приложения рекомендует разрешать поддомен в фильтре и назначать переменную для заголовков ServletRequest.
Тогда сопоставление будет выглядеть следующим образом.:
@RequestMapping(value = "/path", headers="subdomain=www")
public String subsiteIndexPage(Model model,HttpServletRequest request) {... }
Если мы хотим создать пользовательское свойство @RequestMapping, такое как поддомен, например. для создания подобного сопоставления:
@RequestMapping(value = "/some/action", subdomain = "www")
public String handlerFunction(){... }
мы должны переопределить @RequestMapping @interface
определение и переопределить RequestMappingHandlerMapping защищенные методы с нашей собственной реализацией
(, как указано в JIRA :" Разрешить пользовательские условия сопоставления запросов СПР -7812 ").
Правильно? Может ли кто-нибудь дать подсказку, как добиться этой функциональности?
Идея 1:
Как было предложено в исходной ветке jira, создать собственную реализациюRequestCondition
Существует проект, в котором используется это решение, доступное на github:https://github.com/rstoyanchev/spring-mvc-31-demo/
И связанный с ним вопрос SO:Добавление пользовательского RequestCondition& #39; s в Spring mvc 3.1
Может быть, отображение типа @Subdomain("www")
как для типа, так и для метода является возможным решением?