Как реализовать пользовательские свойства @RequestMapping

В качестве примера взять сопоставление поддоменов .

Эта статья:Управление несколькими доменами и поддоменами в 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")как для типа, так и для метода является возможным решением?


Ссылка на тот же вопрос на forum.springsource.com

19
задан Community 23 May 2017 в 12:16
поделиться