我目前遇到了我正在處理的Web Api問題。從同一個控制器路由多個GET方法 - Web Api
我有兩個Get方法的控制器。一個返回對象列表。該方法返回相同對象的名單,但基於被傳入一些參數過濾其他像這樣:
public IList<MyObject> Get(int id)
{
//Code here looks up data, for that Id
}
public IList<MyObject> Get(int id, string filterData1, string filterData2)
{
//code here looks up the same data, but filters it based on 'filterData1' and 'filterData2'
}
我不能讓路線這項工作。尤其是因爲Api幫助頁面似乎多次顯示相同的URL。
我的路線是這樣的:
config.Routes.MapHttpRoute(
name: "FilterRoute",
routeTemplate: "api/Mycontroller/{Id}/{filterData1}/{filterData2}",
defaults: new { controller = "Mycontroller" }
);
config.Routes.MapHttpRoute(
name: "normalRoute",
routeTemplate: "api/Mycontroller/{Id}",
defaults: new { controller = "Mycontroller" }
);
任何人都知道嗎?
此外,是否有可能改變我的過濾方法類似
public IList<MyObject> Get(int Id, FilterDataObject filterData)
{
//code here
}
或者你能不能在獲取通過複雜的對象?
你想什麼網址? – lolol
server/api/MyController/1 /「someString」/「someOtherString」和server/api/Mycontroller/1 – MartinM
您嘗試的URL對於您正在創建的路由有誤(查看我的回覆)。 – lolol