Ниже приведен фрагмент кода, в котором мы можем использовать @ModelAttribute на уровне параметра метода
@ReqestMapping(value = useruri)
public void submitInfo(@ModelAttribute User user) {
// Business logic
}
@ReqestMapping(value = personuri)
public void submitInfo(@ModelAttribute Person person) {
// Business logic
}
Можем ли мы сделать как следует?
@RequestMapping(value = genericuri)
public void submitInfo(HttpServletRequest request, @PathVariable String type) {
if (type.equals("user")) {
User user = someSpringMvcMethod(request, User.class)
} else if (type.equals("person")) {
Person person = someSpringMvcMethod(request, Person.class)
}
//Business logic
}
Причина в том, что я ожидаю отправку данных другого типа в зависимости от типа, и я хочу написать универсальный контроллер, поскольку единственное отличие заключается в преобразовании данных запроса в определенный класс Java.
Класс User и Person содержит много разных данных, и я не думаю, что смогу использовать наследование / полиморфизм для решения моего варианта использования здесь