Мне кажется, что Rails правильно понимает конструкцию контроллера: вы можете использовать действие контроллера index
как для листингов, так и для поисков, и даже для вызовов ajax, потому что вам не нужно указыватьтип возврата типичным способом.
Однако в Spring, поскольку мне нужно либо вернуть ModelAndView
для более традиционного действия, я не могу легко вернуть чистый json.Я обнаружил, что мне часто приходится создавать несколько действий для вызовов ajax, которые в основном одинаковы ... но поскольку для аннотаций и типов, отличных от ajax, требуются разные аннотации и типы возвращаемых данных, у меня должно быть 2 действия контроллера.
Есть ли способ заставить Spring работать с ajax без использования аннотаций типа @RequestBody
?Могу ли я иметь 1 действие контроллера, которое возвращает ModelAndView
и будет работать даже для вызовов ajax, которые не требуют представлений?
Я действительно хотел бы вообще избежать @RequestBody
.Это не только побуждает меня дублировать действия контроллера, которые по сути одинаковы, что приводит к раздуванию моего интерфейса RESTful, но также усложняет их тестирование с использованием HandlerAdapter
, так как вы всегда должны использовать ModelAndView
в любом случае.