2016-12-05 8 views
0

asp.net web apiコントローラは、httpメソッドをサポートしています。 GET、POST、DELETE、PATCH。コントローラにはhttpの標準的なメソッドがあります。たとえば、ProductControllerがあります。私は製品を入手し、削除し、作成し、更新することができます。HTTPメソッドを使用してWeb API上のアクションを除いて

ベストセラー商品が必要な場合は、新しいGETメソッドが必要です。この発言でコントローラはエラー"要求に一致する複数のアクションが見つかりました:"

これらの操作用に新しいコントローラを作成するか、同じコントローラで使用する必要がありますか?ルーティングを変更することで、次は、デフォルトのルーティングがあることを

+0

は、問題を再現している[MCVE]を提供するのに役立ちます。それは言うごとく新しいコントローラの必要はないと言いました。従来のルーティングまたは属性ルーティングを介して2つの動作を区別できるようにルーティングを更新します。 – Nkosi

答えて

0

あなたが行うことができます(App_start - > webApiConfig.cs)

config.Routes.MapHttpRoute( 
name: "API Default", 
routeTemplate: "api/{controller}/{id}", 
defaults: new { id = RouteParameter.Optional } 

)。あなたはそれを変更する必要が

config.Routes.MapHttpRoute( 
    name: "ActionApi", 
    routeTemplate: "api/{controller}/{action}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

answer with similar problem

希望

関連する問題