我正在使用jQuery $.getJSON()对我的简单Spring MVC后端进行异步调用。大多数Spring控制器方法如下所示:
$.getJSON()
@RequestMapping(value = "/someURL", method = RequestMethod.POST) public @ResponseBody SomePOJO getSomeData(@ModelAttribute Widget widget, @RequestParam("type") String type) { return someDAO.getSomeData(widget, type); }
我已经进行了设置,以便每个控制器都将返回@ResponseBodyas JSON,这是客户端所期望的。
@ResponseBody
但是,当不应将请求返回任何内容到客户端时会发生什么呢?我能有......吗:
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST) public @ResponseBody void updateDataThatDoesntRequireClientToBeNotified(...) { ... }
如果没有,在这里使用什么合适的语法?提前致谢!
您可以返回void,然后必须使用@ResponseStatus(value = HttpStatus.OK)标记该方法,而无需使用@ResponseBody
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST) @ResponseStatus(value = HttpStatus.OK) public void updateDataThatDoesntRequireClientToBeNotified(...) { ... }
只有get方法隐式地返回200状态代码,所有其他方法都可以做以下三件事之一:
@ResponseStatus(value = HttpStatus.OK)
HttpEntity