【发布时间】:2012-10-02 00:28:54
【问题描述】:
我正在使用 jQuery 的 $.getJSON() 对我的简单 Spring MVC 后端进行异步调用。大多数 Spring 控制器方法如下所示:
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
public @ResponseBody SomePOJO getSomeData(@ModelAttribute Widget widget,
@RequestParam("type") String type) {
return someDAO.getSomeData(widget, type);
}
我进行了一些设置,以便每个控制器将 @ResponseBody 作为 JSON 返回,这是客户端所期望的。
但是当一个请求不应该向客户端返回任何内容时会发生什么?我可以:
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST)
public @ResponseBody void updateDataThatDoesntRequireClientToBeNotified(...) {
...
}
如果不是,这里使用什么合适的语法?
【问题讨论】:
-
我假设如果你不返回任何东西,就不会有任何内容被发送回来?
-
我想我仍然会返回某种 POJO,即使在您的解决方案的版本 1 中它只是包装了一个“成功”布尔值或类似的东西。然后,您在所有 AJAX 方法中都有一个一致的模式,并且当您确实需要返回一些东西时,更容易构建一些东西!
-
与答案的建议相反,您在第二次 sn-p 中第一次拥有的内容非常好,并且是处理
POST数据的正确方法。
标签: java jquery spring-mvc