什麼特別的的WebAPI迴應:當WebAPI響應諸如http:// server/vroot/odata的請求時,哪些代碼響應?
1. http://server/vroot/odata
2. http://server/vroot/odata?$metadata
3. http://server/vroot/odata/Foo
當請求#3,據我所知,我的 'FooController的' 響應爲 我WebApiConfig.cs配置。
但我不清楚WebAPI如何響應#1或#2。它如何知道 返回什麼?我的代碼中如何配置該響應?
更新:這是一個巨大的線索
一個重要的事情在這裏意識到的是,控制器名, 動作名稱和參數名稱的所有問題。 OData控制器和 動作選擇的工作方式與Web API中的不同。 而不是基於路由參數,OData控制器和 操作選擇基於請求URI的OData含義。因此,例如,如果您提出請求 http://my.server.com/vroot/odata/ $ metadata,請求實際上會獲得 ,該請求將分派給單獨的特殊控制器,該控制器返回OData服務的元數據 文檔。請注意,控制器名稱 與我們之前定義的實體集名稱相匹配。我將在未來的博客文章中嘗試更深入地探討關於OData路由的 。 ]
所以,它的人l WebAPI內部? – AlfredBr
感謝您的鏈接。它幫助我意識到我應該問的問題是:什麼控制器提供「服務文檔」?答案:ODataMetadataController – AlfredBr