是否有任何可靠的指導來爲ASP.NET WebAPI中的資源生成超鏈接?我讀了一些文章對這樣的:WebAPI中的超鏈接
http://codebetter.com/glennblock/2012/01/08/hypermedia-and-web-api-design-brain-dump-and-samples/
http://blog.ploeh.dk/2012/04/17/HyperlinkingWithTheASPNETWebAPI.aspx
儘管內容翔實,似乎是從微軟或沒有具體的指導,否則在如何最好地實現你的資源鏈接條款(即在服務層使用DTO實現的對象模型)。如果我們正致力於使用WebAPI來實現真正的RESTful服務,那麼超鏈接是至關重要的,而且我期望在WebAPI中爲此提供支持/指導。
我試圖實現這個的一個簡單示例是使用具有地址集合和SupportIncident集合的Contact實體。 基礎上的第一篇文章,我引用看起來像這樣的類定義:
public class Link
{
public Uri Uri { get; set; }
public string Rel { get; set; }
public string Name { get; set; }
}
public class ContactDTO
{
public int ID { get; set; }
public string Name { get; set; }
public IList<AddressDTO> Addresses { get; set; }
public IList<IncidentDTO> Incidents{ get; set; }
public IList<Link> Links { get; set; }
}
的WebAPI是在揭露這種模式通過HTTP(XML/JSON)和GET/PUT/POST大/ DELETE動作在資源上,但爲了構建一個真正的RESTful服務,我想知道是否 a)WebAPI中是否存在對鏈接生成的固有支持? b)是否有適當的指導來揭示上面包含資源鏈接的模型,以及如果客戶端將鏈接作爲有效負載的一部分發送,API應該如何處理PUT/POST。應該忽略這些嗎?
您是否考慮過Web API的OData支持?這對你正在尋找的超鏈接和平靜的語義有着豐富的支持。 http://blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-simple-steps.aspx – 2013-02-11 16:29:24
目前OData支持半烤,似乎並不容易融入。除此之外,我還必須定義一個EDM模型 – 2013-02-13 06:29:20
你最終爲這個問題提出了什麼@Abhijeet? – Tr1stan 2014-07-29 15:08:38