在我的控制器UserApiController,我有以下功能:asp.net的MVC Web API相同的控制器不同的功能參數
public object GetUsers(string CountryID, string StateID)
{
//biz
}
public object GetPositions(int CompanyID, int DepartmentID)
{
//biz
}
在我的控制器SalesApiController,我有以下功能:
public object GetOrders(string CountryID, int CompanyID)
{
//biz
}
public object GetProducts(string CountrID, string StateID, int CompanyID)
{
//biz
}
在web api配置中,我可以像這樣映射:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{CountryID}/{StateID}",
defaults: new { }
它適用於UserApiControll er.GetUsers作爲函數簽名只與GetUsers匹配。
現在,問題:
1.how定義一個路由處理與相同量的參數(或者在相同或不同的控制器)
2.how不同的函數來定義一個路由來處理不同具有不同數量參數的功能(如果可能,在相同或不同控制器內)
既然這是webapi,爲什麼要擔心路由參數?爲什麼不使用普通的查詢字符串參數? – danludwig
是的,不,我們可以使用舊學校的查詢字符串,但最好堅持休息,因爲這是網絡API的本質:) – unruledboy