我正在使用Web API v2,並且我有一些模型需要執行CRUD操作。例如,我有一個Allergy
模型和一個Prescription
模型。在應用程序本身中,我有視圖模型可以轉化爲適當的模型,但爲了簡單起見,我們只是說我直接在Web API控制器中使用模型。通用Web API控制器
因此,像這樣:
public class PrescriptionsController
{
public HttpResponseMessage Put(Prescription model)
{
// saved to the DB
}
... (other CRUD operations)
}
我也有同樣的Allergy
型號:
public class AllergiesController
{
public HttpResponseMessage Put(Allergy model)
{
// saved to the DB
}
... (other CRUD operations)
}
這兩種型號有不同的屬性,但是否完全相同的方式處理 - 事實上我有約3個其他模型的處理方式與每個CRUD操作完全相同。我討厭做5個不同的終端,這些終端基本上是複製和粘貼的代碼。
所以我的問題是這樣的:
我可以做一個通用的控制器來處理所有這些模型的?像MyCommonController<T>
? (但當然有更好的名字!)Web API可以處理該場景中的路由嗎?這是一個好主意嗎?
我認爲你可以通過不同的方式實現這一點..通過路由。我沒有嘗試,但會看到。 – Guanxi
似乎可能。 下面是關於它的討論:http://stackoverflow.com/questions/12077361/generic-webapi-controller – Trisk