[英]Asp.net Core: Route Controller with Folder Name
My Controllers inside some folders and when writing theirs routes, I add manually Route Attribute.我的控制器在一些文件夹中,在编写他们的路由时,我手动添加了路由属性。 like this below:
像下面这样:
[Route("api/myfolder1/[controller]")]
[ApiController]
public class FormulaController : ControllerBase
{
....
}
is any solution to resolve manually adding folder name to Route Attribute in controllers?是否有解决手动将文件夹名称添加到控制器中的路由属性的解决方案? thanks
谢谢
as @poke suggest, Use Areas .正如@poke 建议的那样,使用区域。
Step1.
步骤1。 Move you controllers to
Areas
folder.将您的控制器移动到
Areas
文件夹。
Step2.
第2步。 Add area route to
Startup.cs
将区域路由添加到
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?}");
});
Step3.
第三步。 Add [Area] attribute to your controller
将 [Area] 属性添加到您的 controller
[Area("myfolder1")]
public class FormulaController : Controller
{
public IActionResult Index()
{
return Json("Helll formula/index");
}
}
Screenshots of test
测试截图
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.