コントローラーのルーティングとアクションの選択に問題があります。私のルーティングは次のようになります。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional });
私のコントローラーは次のようになります。
[HttpGet]
public Customers GetCustomers()
{
}
[HttpGet]
public Customer GetCustomerDetail(int id)
{
}
[ActionName("orders")]
[HttpGet]
public Orders GetCustomerOrders(int id)
{
}
私は電話することができhttp://localhost/customers
、私は電話することができますhttp://localhost/customers/1/orders
。しかし、電話をかけようとするとhttp://localhost/customers/1
、「要求に一致する複数のアクションが見つかりました:」というエラーが表示されます (GetCustomerDetail および GetCustomerOrders に一致します)。
この問題を解決する方法はありますか?
THX