MVC4 Web API プロジェクトには、以下の「itemtypelist」ルートがあります
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "itemtypelist",
url: "{controller}/list/{itemtype}/{searchtext}",
defaults: new { controller = "home", action = "list", itemtype = (string)null, searchtext = (string)null }
);
}
これは、次のコントローラーアクションにマップすることを目的としています
[AcceptVerbs("GET", "POST")]
public IEnumerable<Repository.ViewModel.Brand> List(string itemType, string searchText)
とURL
/api/brand/list/mytype/mysearchtext
ただし、URL は 404 メッセージを返します。このルートとコントローラー アクションは Web サイト プロジェクトでは機能しますが、Web API プロジェクトでは機能しません。アクションが見つからない原因となる MVC4 Web API プロジェクトの違いは何ですか?