【发布时间】:2012-01-02 23:24:18
【问题描述】:
我认为 Rails 在其控制器设计方面做得很好的一件事是,您可以将 index 控制器操作用于列表、搜索甚至 ajax 调用,因为您不必指定以典型的方式返回类型。
但是,对于 Spring,因为我必须返回 ModelAndView 来进行更传统的操作,所以我不能轻易返回纯 json。我发现我经常需要为基本相同的 ajax 调用创建多个操作......但是由于 ajax 和非 ajax 情况所需的不同注释和返回类型,我必须有 2 个控制器操作。
有没有办法让 Spring 在不使用 @RequestBody 之类的注释的情况下使用 ajax?我可以有 1 个返回 ModelAndView 的控制器操作,甚至可以用于不需要视图的 ajax 调用吗?
我真的很想完全避免@RequestBody。它不仅会导致我复制本质上相同的控制器操作,从而使我的 RESTful 界面膨胀,而且还会使它们更难使用 HandlerAdapter 进行测试,因为无论如何你总是必须使用 ModelAndView。
【问题讨论】:
标签: ajax spring spring-mvc controller response