考虑这样的 Api 控制器:
public class MyApiController
{
[HttpGet]
public IEnumerable<object> GetItems(int from, int count)
{
...
}
[HttpGet]
public IEnumerable<object> GetActiveItems(int from, int count)
{
...
}
}
如果我打电话/MyApi/GetActiveItems/?from=0&count=20
,那么可以路由操作GetItems
而不是GetActiveItems
因为参数相似性。如果我更改参数名称,例如(int fromActive, int countActive)
它可以正常工作。
为什么呢?为什么不使用动作名称来匹配方法名称?
我应该在路由中做些什么吗?