Ich versuche, mich mit Spring MVC 3.0 vertraut zu machen, und obwohl ich es zum Laufen bringen kann, scheine ich dieses bestimmte Szenario nicht effizient behandeln zu können.
Ich habe einen Controller, der den Präfix "/{studyName}/module" behandelt, und er sieht ungefähr so aus:
@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; }
...
}
}
Das Problem bei diesem Code ist, dass die Validierung des studyName über alle Methoden verstreut ist und möglicherweise auch in den Methoden anderer Controller. Gibt es eine Möglichkeit, die Validierung des studyName-Path-Variablen an einer Stelle durchzuführen, ohne etwas wie AOP verwenden zu müssen? Wie behandeln Sie solche Validierungen?
Vielen Dank.