我很想知道其他人如何處理爲其Web API生成超媒體鏈接的問題?具體來說,我使用的是ASP.NET Web API,並且在操作返回與超媒體相關的類型,或者返回資源本身,以及在管道中稍後發生超媒體事件之間存在分歧。 也就是說,做的人往往會做這樣的事情:在Web API中生成超媒體鏈接
public Resource<Order> GetOrder(int id) {
return new Resource<Order>() {
Content = new Order(),
Links = new LinkCollection<Order>() { new AddOrderLink(), new UpdateOrderLink()}
}
或者更多的東西一樣
public Order GetOrder(int id) { return new Order(); }
,然後添加一個HttpOperationHandler或自定義格式或裏面的東西超媒體鏈接?
如果方法更像#2,您如何知道要生成的鏈接?只需要爲所有Order對象生成一些標準鏈接?裝飾OrdersController中各種操作的屬性?
附錄:我已經閱讀了Glenn Block關於Web API中超媒體的文章(http://codebetter.com/glennblock/2012/01/08/hypermedia-and-web-api-design-brain-dump-and雖然他似乎贊成生成操作鏈接(類似於上面的示例1),但我覺得他提到的「中間件」路線感覺更加自然。 – Jordan0Day
看看來自ammy的介紹teched newzealand http://channel9.msdn.com/Events/TechEd/NewZealand/2013/DEV305她的解決方案是有希望的超媒體與網頁api也看看這裏github示例代碼 – Gomes