Asp.net web api 如何按版本为ASP.NET样板Web API设置动态路由?

Asp.net web api 如何按版本为ASP.NET样板Web API设置动态路由?,asp.net-web-api,asp.net-core,swagger,asp.net-mvc-routing,aspnetboilerplate,Asp.net Web Api,Asp.net Core,Swagger,Asp.net Mvc Routing,Aspnetboilerplate,我是样板框架的新手,在Web API的动态路由方面遇到了问题 我正在使用ASP.NET CORE 2.0中的控制器创建Web API。我也在为API使用swagger UI 我想为控制器中的所有API执行动态路由 我尝试使用下面的代码 [ApiVersion("1.1")] [ApiVersion("2.1")] [Route("api/v{version:apiVersion}/[controller]")] public class TestController : AbpContr

我是样板框架的新手,在Web API的动态路由方面遇到了问题

我正在使用ASP.NET CORE 2.0中的控制器创建Web API。我也在为API使用swagger UI

我想为控制器中的所有API执行动态路由

我尝试使用下面的代码

 [ApiVersion("1.1")]
 [ApiVersion("2.1")]
 [Route("api/v{version:apiVersion}/[controller]")]
 public class TestController : AbpController
    {
        [HttpGet("", Name = "Test")]
        public async Task<IActionResult> GetTestId(string customerid)
        {
           ...
           // Web API Code
           ...
        }
    }
使用版本2.1时

api/v2.1/Test

可能重复的“否”及其“不重复”。这也是我自己的问题。在我的这个问题中,我可以进行版本控制,但在生成动态路径中遇到了问题。如果我创建了两个不同的控制器,并通过api/v1.1/Test和api/v2.1/Test修复路由,那么它可以正常工作,但我希望支持多个版本的单控制器方法,并希望提供动态路由。所以当我从swegger中选择v1.1时,API路由应该显示API/v1.1/Test,当我从swegger中选择v2.1时,API路由应该显示API/v2.1/Test。
api/v2.1/Test