0
私は私のHomeControllerのために以下の設定をしています。すべてのMVCコントローラが/ mvc/[controler]/[action]から応答するようにしたいのですが、WebApiは/ api/MVC COREプロジェクトのための真のデフォルトルートを作るにはどうしたらいいですか?
にあります。しかし、誰かがパスのないバージョンに行くと、/mvc/home/indexに、私の設定はそれを行うように見えません!
私はhttp://hostname/がhttpになったしたい:/ホスト名/ホーム/インデックス
[Route("mvc/[controller]")]
[ApiExplorerSettings(IgnoreApi = true)]
public class HomeController : Controller
{
[Route("Index")]
public IActionResult Index()
{
return View();
}
[Route("Error")]
public IActionResult Error()
{
return View();
}
}
私startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMiddleware(typeof(ErrorHandlingMiddleware));
app.UseMvc(routes =>
{
routes.MapRoute(
"default",
"mvc/{controller=Home}/{action=Index}/{id?}");
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
var swaggerendpoint = Configuration["SwaggerEndpoint"];
c.SwaggerEndpoint(swaggerendpoint, "Public Cloud Interface");
});
}
}
これは「伝統的な」アプローチです。MVC 2 3&4用のMVCプロジェクトテンプレートにあります –