我使用一個類層次結構,其如下一個JOINED
繼承策略REST端點:Spring MVC的 - 對於繼承層次
abstract super class Product
concrete sub class Type1Product extends Product
concrete sub class Type2Product extends Product
現在我想創建一個允許用戶發佈數據並將其作爲產品的特定子類進行分析的REST端點,確保其對於任何類型的產品都具有相同的端點。因此,像下面:
@RequestMapping(method = POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public Product save(@Valid Product product) {
// ...
return product;
}
目前,當我嘗試後我得到一個錯誤,說我不能初始化一個抽象類,因爲春天是試圖建立一個產品實例,而不是正確的實例亞型。
是我想要做的可能嗎?如果不是,那麼在爲繼承層次構造類似這樣的端點時,最佳做法或慣例是什麼?
如果您在返回時保持產品類別具體並返回可能解決問題的特定產品 –
但是這在概念上會不正確,因爲產品本身不應存在。我不介意改變這種方法,只是想知道這種情況通常如何處理。 – user3690467