Asp.net Core:具有文件夹名称的路由控制器

问题描述

我的控制器在某些文件夹中,当编写其路由时,我会手动添加路由属性。如下所示:

   [Route("api/myfolder1/[controller]")]
    [ApiController]
    public class FormulaController : ControllerBase
    {
....
    }

是否有解决方案来解决在控制器中手动将文件夹名称添加到“路由属性” 的问题? 谢谢

解决方法

按照@poke的建议,使用区域

步骤1。将控制器移至Areas文件夹。

enter image description here

步骤2。将区域路线添加到Startup.cs

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "myArea",pattern: "api/{area:exists}/{controller=Home}/{action=Index}/{id?}");

            endpoints.MapControllerRoute(
                name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");
        });

第3步。将[Area]属性添加到您的控制器

[Area("myfolder1")]
public class FormulaController : Controller
{
    public IActionResult Index()
    {
        return Json("Helll formula/index");
    }
}

测试屏幕截图

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...