我的動機是寫一個通用保存方法在REST API。用戶將在請求正文發送實體使得取決於請求映射字符串應該是轉換爲實體。我怎麼能在REST API控制器類型轉換請求體成所需的實體
爲什麼我想這一點,因爲在我的情況下,有多達50-60實體和按我的理解,我有寫了許多控制器。
我想實現這樣的事情。
@RequestMapping(value = "/{entity}", method = RequestMethod.POST)
@ResponseBody
public Object performSave(@PathVariable String entity
@RequestBody Object entity) {
switch(entity){
case "employee"
return employeeService.save((Employee)entity);
case "Boss"
return bossService.save((Boss)entity);
default:
return null;
}
但我不能這樣做,因爲Spring無法將JSON請求轉換爲java.lang.Object。
我有什麼可能的解決方案?
如果我的問題是沒有意義的你,請讓我知道,我會提供更多的細節。
在此先感謝。
您在創建50個控制器時遇到了問題,但在包含50個不同服務的情況下沒有問題,並且在巨大的switch語句中調用了50種不同的服務方法?你可以看看Spring Data REST,然後你甚至不需要一個控制器。 – zeroflagL