Использование Spring MVC @Controller, как я могу использовать конечную точку @RequestMapping, которая имеет атрибут @ModelAttribute, объявленный как интерфейс?Spring MVC ModelAttribute as Interface
Я хочу, чтобы на отображение отображалось три разных формы, которые лежат в основе всех классов интерфейса.
Так, например, я могу иметь три различных объекта формы с действием на следующее:
@RequestMapping(path="/doSomething", method=RequestMethod.POST)
public String doSomething(ObjectInterface formInfo) {
...
}
(. Где ObjectInterface представляет собой интерфейс, а не конкретный класс)
я могу писать код сам направить Весну на правильный конкретный класс боба, чтобы связать запрос, что он может создать экземпляр для запроса, если я могу проверить входящие данные, поскольку этот класс реализует интерфейс. Тогда Spring просто должен передать это в метод. Мне интересно, можно ли каким-то образом реализовать это. Это легко сделать возможным, если Spring допускает такую настройку. – FiguringThisOut
Я думаю, что это хорошая идея с точки зрения общего дизайна, но не для атрибутов Spring и Model. Spring сопоставляет входные значения формы с полями объекта. Кроме того, я считаю, что лучшая практика заключается в том, чтобы иметь один контроллер для каждого «раздела» приложения. Кажется, что вы связываете взгляды из разных доменов с общим контроллером; может быть, я не понимаю. – ChiefTwoPencils
Я думаю, что писать и регистрировать пользовательский HandlerMethodArgumentResolver может сделать трюк. Я буду обновлять, как только у меня будет что-то работающее, если это решение. – FiguringThisOut