我正在使用config.AddApiVersioning()
我的 WebApiConfig 对我的 Asp.Net Web Api 2 api 进行版本控制。我的每个控制器都装饰有类似[Route("api/TestApi/v{version:apiVersion}/{action}/{id?}")]
.
我想删除大部分装饰,而是在我的 WebApiConfig 中使用类似的东西:
config.Routes.MapHttpRoute(
"ApiControllerVersionActionId",
"api/{controller}/v{version:apiVersion}/{action}/{id}",
new { id = UrlParameter.Optional },
new
{
// e.g., 1.0, 12.75
apiVersion = @"^[0-9]+\.[0-9]+$",
// only GUIDs or integers
id = @"^(\{){0,1}(\(){0,1}[0-9a-fA-F]{8}\-{0,1}[0-9a-fA-F]{4}\-{0,1}[0-9a-fA-F]{4}\-{0,1}[0-9a-fA-F]{4}\-{0,1}[0-9a-fA-F]{12}(\)){0,1}(\}){0,1}$|^\d+$"
}
);
我的问题:
- 这可能吗?
- 有例子吗?我发现的大多数示例都装饰了所有控制器。