Я занимаюсь разработкой службы RESTful с использованием Spring 3.0, работающего в среде Tomcat Apache 6.0.Spring DispatcherServlet настроен в "/ spring / *".Сервлет Spring обрабатывает несколько клиентов и имеет много контроллеров в приложении.Я добавляю новый контроллер для службы REST.Я хочу, чтобы все мои классы контроллеров имели префикс идентификации, такой как "ws" (веб-сервис), чтобы полный URL-адрес ресурса выглядел так:
http://<server>:<port>/<context>/spring/ws/service1
Единственный способ, который я нашелс помощью Spring аннотация должна использовать @RequestMapping следующим образом:
@Controller
@RequestMapping("/ws/service1")
public class Service1 {
@RequestMapping(method=RequestMethod.GET)
@ResponseBody
public String getHtml() { ... }
....
}
Но так как у меня есть десятки классов, я не хочу ставить префикс "/ ws" в каждом классе.Так что, если другой разработчик добавляет новый сервис, ему не нужно помнить, чтобы поставить этот префикс, а также, если мы решим изменить имя префикса с "/ ws" на что-то другое, мне не нужно менять все файлы.Я обнаружил, что аннотация @RequestMapping применима только к методам или классам, но не на уровне пакета.
Можно ли каким-либо образом настроить доступ ко всем моим контроллерам REST с префиксом?
Обратите внимание, что я не могу изменить отображение URL web.xml сервлета Spring, поскольку существуют другие контроллеры, работающие с этим URL.