在我的控制器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