2014-08-29 62 views
0

是否有可能在Spring MVC中有请求使用void处理程序?Spring MVC中是否有可能为请求提供void处理程序?

假设我有一个简单的控制器,它不需要与任何视图交互。

@Controller 
@RequestMapping("/cursor") 
public class CursorController { 

    @RequestMapping(value = "/{id}", method = PUT) 
    public void setter(@PathVariable("id") int id) { 
     AnswerController.setCursor(id); 
    } 
} 

UPD

@Controller 
@RequestMapping("/cursor") 
public class CursorController { 

    @RequestMapping(value = "/{id}", method = PUT) 
    public ResponseEntity<String> update(@PathVariable("id") int id) { 
     AnswerController.setCursor(id); 
     return new ResponseEntity<String>(HttpStatus.NO_CONTENT); 
    } 
} 
+0

简短的回答是肯定的,但为什么你不希望至少发回一个简单的200响应来通知你有请求? – coffeeaddict 2014-08-29 16:50:49

+0

喜欢我的更新的问题?也许这是个好主意,是的。 – barbara 2014-08-29 16:52:01

回答

2

可以return void,那么你必须标记与

@ResponseStatus(value = HttpStatus.OK)的方法,你不需要@ResponseBody

@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST) 
@ResponseStatus(value = HttpStatus.OK) 
public void defaultMethod(...) { 
    ... 
} 

只有get方法换货政... RN一个200 status code含蓄,你把所有的人做的三两件事之一:

返回void并标记与@ResponseStatus(value = HttpStatus.OK)

返回一个对象的方法并将其标记与@ResponseBody

返回HttpEntity实例

另请参阅interesting information

+0

我会返回HTTP 204无内容 – 2014-08-29 17:43:22

相关问题