С Spring MVC, я знаю, как вы устанавливаете RequestMapping
в каждом контроллере и методе/действии.
Но что, если я хочу, чтобы это было настраиваемо, например, я следующие контроллеры:
BlogController
- with methods for listing blogs entries, single entry, new, update, etc.
ArticleController
- with methods for listing articles entries, single entry, new, update, etc.
Теперь в моем приложении администратор может настроить 2 блогов для webiste и 1 раздел статьи, чтобы URL-адреса были такими:
www.example.com/article_section1/ - uses ArticleController
www.example.com/blog1/ - uses BlogController
www.example.com/blog2/ - uses BlogController
Может быть, через некоторое время администратор захочет получить другой раздел статьи, поэтому они просто настраивают это с помощью следующего раздела:
www.example.com/article_section2/
Это должно работать динамически/ "на лету" без необходимости повторного запуска приложения.
Мой вопрос касается только того, как я буду обрабатывать сопоставления URL-адресов моим контроллерам.
Как это возможно с помощью Spring MVC?
Я знаю, как сопоставлять URL-адреса контроллерам с помощью @RequestMapping("/helloWorld")
на уровне контроллера или метода, но это делает сопоставления url фиксированными и не настраиваемыми, как то, как я хочу.
Update:
Я буду хранить пути в базе данных и сопоставлять их с типом контроллера так:
path controller
/article_section1/ article
/blog1/ blog
/blog2/ blog
..
С приведенной выше информацией, как я мог отправить запрос правильному контроллеру?
Опять же, не глядя на перезагрузку/повторное развертывание, и я понимаю, что для этого потребуется больше работы, но в спецификации:)