繁体   English   中英

Asp.net 核心:使用文件夹名称路由 Controller

[英]Asp.net Core: Route Controller with Folder Name

我的控制器在一些文件夹中,在编写他们的路由时,我手动添加了路由属性。 像下面这样:

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

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

正如@poke 建议的那样,使用区域

步骤1。 将您的控制器移动到Areas文件夹。

在此处输入图像描述

第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?}");
        });

第三步。 将 [Area] 属性添加到您的 controller

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

测试截图

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM