У меня есть Spring @RequestMapping
с парой @PathVariable
s, и первое необходимо сузить до второго - вы можете увидеть в приведенном ниже примере, что мне нужно, чтобы отдел Чтобы получить Модуль. Используя обычный String
@PathVariable
s, я могу сделать это так:
@RequestMapping("/admin/{dept}/{mod}/")
public String showModule(@PathVariable String dept, @PathVariable String mod) {
Department department = dao.findDepartment(dept);
Module module = department.findModule(mod);
return "view";
}
Но я хочу использовать Converter
API Spring, чтобы можно было указать Department
непосредственно как @PathVariable
. Так что это работает после того, как я зарегистрировал пользовательский класс Converter
:
@RequestMapping("/admin/{dept}/")
public String showDept(@PathVariable Department dept) {
return "view";
}
Но API-интерфейс Converter не предоставляет доступа вне одного преобразуемого аргумента, поэтому невозможно реализовать Converter
для Module
. Есть ли другой API, который я могу использовать? Я смотрю HandlerMethodArgumentResolver
- кто-нибудь решил проблему, подобную этой, или вы придерживаетесь String @PathVariables?
Я использую Spring 3.1.