Я пытаюсь замочить ноги с помощью Spring MVC 3.0, и, хотя я могу заставить его работать, я не могу справиться с этим конкретный сценарий эффективно.
У меня есть контроллер с префиксом "/ {studyName} / module", и он выглядит примерно так: -
@Controller
@RequestMapping(value = "/{studyName}/module")
public class ModuleController {
@RequestMapping(...)
public ModelAndView getA(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getB(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getC(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
@RequestMapping(...)
public ModelAndView getD(@PathVariable String studyName, ...) {
if (!validStudy(studyName)) { return bad request; }
...
}
}
Проблема с этим кодом в том, что проверка studyName разбросана повсюду методы и, возможно, методы других контроллеров. Есть ли способ выполнить проверку переменной пути studyName в одном месте без использования чего-то вроде АОП? Как вы справляетесь с такой проверкой?
Спасибо.