HttpPost
MVC4 Web API プロジェクトの使用を開始しています。複数のメソッドを持つコントローラーがあります。コントローラーは次のようになります。
コントローラ
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
ここでMyRequestTemplate
は、リクエストから来る Json の処理を担当するテンプレート クラスを表します。
エラー:
Fiddler for を使用してリクエストを行うとhttp://localhost:52370/api/VTRouting/TSPRoute
、http://localhost:52370/api/VTRouting/Route
エラーが発生します。
リクエストに一致する複数のアクションが見つかりました
上記の方法のいずれかを削除すると、正常に機能します。
Global.asax
でデフォルトのルーティング テーブルを変更しようとしましたglobal.asax
が、まだエラーが発生します。global.asax でのルートの定義に問題があると思います。これがglobal.asaxで行っていることです。
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
name: "MyTSPRoute",
routeTemplate: "api/VTRouting/TSPRoute",
defaults: new { }
);
routes.MapHttpRoute(
name: "MyRoute",
routeTemplate: "api/VTRouting/Route",
defaults: new { action="Route" }
);
}
POST を使用して Fiddler でリクエストを作成し、MyRequestTemplate の RequestBody で json を渡します。