WebAPI が使用するデフォルトの RouteConfiguration の代わりに AttributeRouting を使用するときに使用するデフォルトのコントローラーをどのように設定しますか。つまり、AttribteRouting を使用する場合、これは冗長であるため、コメント化されたコード セクションを削除します。
public class RouteConfig
{
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 }
//);
}
}
上記のセクションにコメントして webapi アプリを実行しようとすると、既定のホーム コントローラー/アクションが定義されていないため、次のエラーが発生します。 HTTP エラー 403.14 - 許可されていません Web サーバーは、このディレクトリの内容を一覧表示しないように構成されています。
ホームコントローラー/アクションの属性ルーティングを介してルートを指定するにはどうすればよいですか?
編集:コードサンプル:
public class HomeController : Controller
{
[GET("")]
public ActionResult Index()
{
return View();
}
public ActionResult Help()
{
var explorer = GlobalConfiguration.Configuration.Services.GetApiExplorer();
return View(new ApiModel(explorer));
}
}