使用ASP.NET 5中的Route注释将URL映射到子文件夹

时间:2016-04-12 15:06:30

标签: .net asp.net-core asp.net-core-mvc

假设我有这个文件结构:

-Controllers
--api
---1.0
----UserController.cs

我无法通过以下网址访问用户控制器:/api/1.0/users

所以写下类似的东西很好:

[Route("api/1.0/[controller]")]
public class UserController : Controller

但是现在我想为我的所有控制器制作基本控制器,并希望放置通用路由注释,它将根据子文件夹识别api版本。因此,如果[1.0]子文件夹中的控制器应通过/api/1.0/controller访问,但如果它位于[2.0]子文件夹中,则链接应为/api/2.0/controller

所以我需要以某种方式修改路由注释以支持这一点。像

这样的东西
[Route("api/[some_kind_of_subfolder]/[controller]")] 

如何在Asp.net5中执行此操作?

1 个答案:

答案 0 :(得分:0)

使用Route属性看起来无法做到这一点。可能有一些机会使用areas或使用新的MVC6概念 - Application Model Conventions (IApplicationModelConvention interface)详细示例there:

这是good post,描述了如何进行强类型路由