2014-08-29 52 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

相關問題