6
我想有我一般的路線確定查詢字符串是在URL中傳遞這樣操作和查詢字符串參數的Web API
http://localhost/query/DailyLogs/1?dateOfLog='1/13/2013'
這是我目前的路由定義:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "query/{controller}/{id}",
defaults: new { id = RouteParameter.Optional}
);
我已閱讀一些答案,說在路由定義中添加dateOfLog值作爲可選操作:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "query/{controller}/{id}/{dateOfLog}",
defaults: new { id = RouteParameter.Optional,
dateOfLog = RouteParameter.Optional }
);
這似乎不工作,也許我做錯了什麼,我不知道。
這是我目前如何處理這個問題,但我想用路由引擎的ModelBinding功率:
var queryValue = Request.RequestUri.ParseQueryString();
string dateOfLog = queryValue["dateOfLog"];
請告訴我如何創建將使用路由定義ModelBinding並將我的自定義URL映射到控制器的參數。
我試過了,沒有成功。以下是方法簽名:public DailyLogResponse Get(int id,DateTime dateOfLog),使用上面的路由永遠不會遇到方法。 –
好的,嘗試在方法參數中使用字符串類型而不是DateTime。 – Moo
是的,你是正確的,它實際上是一個DateTime解析錯誤,當我將參數類型更改爲字符串方法觸發和值存在。謝謝。 –