0

我是ASP.NET Web API的新成員,並且已經研究了一段時間。無可否認,我決定癱瘓。我想爲數據庫中大約有250個表的系統創建一個類似REST的API。它基本上是一個具有UI和數據訪問層的2層系統,不使用業務對象或ORM。asp.net web api控制器接受POCO或通用數據

我不能決定,如果我的Web API控制器應該接受/回:

一)名稱/值對,我會打包成SQL參數,並傳遞給數據訪問層,並返回一個序列化的結結實實的IDictionary的。淨數據表

b)強類型複雜對象(PO​​CO對象)。例如:帳戶類的所有屬性都與數據庫中的字段匹配。

如果我必須爲系統中的每個表中創建POCO類,將有超過250個班,基本上什麼也不做,除了包中的數據,並把它傳遞給我們的數據訪問層。

此外,似乎我需要爲數據庫中的基本上每個表創建一個ApiController,我想通過Web Api公開,因爲您只有GET,POST,PUT,DELETE每個路由?請幫忙,把頭撞到桌子上。

回答

0

下面請看答案:

1 ** **使用 「名/值對IDictionary的」是好的,如果你的資源僅支持GET方法。如果您希望用戶發佈或更新數據,您將如何驗證數據?另外,如果你想添加HATEOAS,你會怎麼做?在擴展方面,你將如何支持嵌套的對象層次類似下面:

public class Product 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 

    public string Category { get; set; } 

    public decimal Price { get; set; } 

    public IList<PurchaseDetail> PurchaseHistory { get; set; } 
} 

public class PurchaseDetail 
{ 
    public int Id { get; set; } 

    public DateTime PurchaseDate { get; set; } 

    public decimal Cost { get; set; } 
} 

2.你可以有一個以上的GET,POST,通過定義不同的路線等每資源。更多此鏈接http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api

相關問題