我想使用域對象作爲@RequestBody。我的域對象是不可變的對象,所以它們沒有任何setter方法。它的應用程序/ json請求,我正在使用傑克遜消息轉換器。Spring 3 MVC - 使用域對象作爲@RequestBody
@RequestMapping(value="/user", method=RequestMethod.POST)
@ResponseStatus(HttpStatus.NO_CONTENT)
public @ResponseBody void createUser(@RequestBody User user) {
..........
}
因爲我沒有我的用戶對象的內部setter方法,當我做一個POST請求到「/用戶」,我從MappingJacksonHttpMessageConverter得到UnrecognizedPropertyException。春天有沒有辦法可以使用用戶對象的靜態工廠方法(或構造函數)而不是setter來分配數據。
另外:作爲版本1.2,傑克遜允許使用的「創建者」的方法(構造器和靜態工廠方法),這意味着它可以省略設置器方法,如果數據是通過構造要傳遞(HTTP: //wiki.fasterxml.com/JacksonFAQ#Data_Binding.2C_general)。我想知道MappingJacksonHttpMessageConverter如何實現它。 – Chandra