.net core 如何在.net core 3中设置隐式路由
如何隐式定义路由?例如,我有一个名为TodoController的控制器,它有一些操作,如添加、获取、保存。。我不想为每一个指定路由属性 这是我的代码:.net core 如何在.net core 3中设置隐式路由,.net-core,routes,.net Core,Routes,如何隐式定义路由?例如,我有一个名为TodoController的控制器,它有一些操作,如添加、获取、保存。。我不想为每一个指定路由属性 这是我的代码: public class TodoController : ControllerBase { [HttpPost] public IActionResult New() { return Ok(); } [HttpGet] public IActionResult Prova()
public class TodoController : ControllerBase
{
[HttpPost]
public IActionResult New()
{
return Ok();
}
[HttpGet]
public IActionResult Prova()
{
return Ok();
}
这是我的startup.cs
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
我的研究成果
您可以使用两种类型的路由
一,
`
二,
两个变体都使用Rout属性,但没有他就没有变体。
services.AddMvc(option => option.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
});
services.AddControllers();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
}
);