我認爲Rails在控制器設計方面的一個優點是,您可以使用index
控制器操作來控制列表以及搜索,甚至可以使用ajax調用,因爲您不必指定返回類型一個典型的方法。有沒有辦法使用ModelAndView獲得@ ResponseBody類型的行爲?
但是,對於Spring,由於我必須返回ModelAndView
以獲得更傳統的操作,所以我無法輕鬆返回純json。我發現我經常必須爲ajax調用創建多個動作,這些動作基本相同......但由於ajax和非ajax情況需要不同的註釋和返回類型,因此我必須有2個控制器操作。
有沒有辦法讓Spring使用ajax而不使用像@RequestBody
這樣的註釋?我可以有1個控制器操作返回ModelAndView
,並且即使是不需要視圖的Ajax調用也可以工作嗎?
我真的想完全避免@RequestBody
。這不僅會導致我複製基本相同的控制器操作,從而使我的RESTful界面變得更加龐大,而且還使得它們難以使用HandlerAdapter
進行測試,因爲無論如何您總是必須使用ModelAndView
。