8
我掙扎制定支持以下簡單的場景所需的路由配置:MVC 4的Web API - 路線複合鍵
http..service/api/objects/key1/key2
我覺得我已經嘗試了一切。
最大的問題是,每當它看起來像我已經破解了,我發現
http..service/api/objects/key1
被路由到無參數的IQueryable獲取。
我掙扎制定支持以下簡單的場景所需的路由配置:MVC 4的Web API - 路線複合鍵
http..service/api/objects/key1/key2
我覺得我已經嘗試了一切。
最大的問題是,每當它看起來像我已經破解了,我發現
http..service/api/objects/key1
被路由到無參數的IQueryable獲取。
我想我已經釘了它。
routes.MapHttpRoute(
name: IQueryableObjectsApiRouteName,
routeTemplate: "api/objects",
defaults: new { controller = "objects" }
);
routes.MapHttpRoute(
name: ObjectsApiRouteName,
routeTemplate: "api/objects/{siteId}/{assetId}",
defaults: new { controller = "objects", siteId = "", assetId = "" }
);
我需要設置兩個顯式路由到每個控制器與複合鍵。鍵的默認值是「」,我在控制器中檢測到並拋出自己的404.
它適用於我。我現在可以去吃午飯了。
你能指定你的控制器方法參數嗎? :)我想知道它如何看起來與複合鍵 – Roylee 2013-07-01 16:16:41
對不起羅利,我已經離開了合同/客戶端。儘管如此,我期望它僅僅是'public SomeModel Get(string siteId,string assetId)'。 – 2013-07-01 16:28:56
好吧:)我知道了:)是的,你是對的 – Roylee 2013-07-01 17:07:45