Я управляю версией моего Asp. Net API Api 2 Web, используя config.AddApiVersioning()
в моем WebApiConfig. Каждый из моих контроллеров украшен чем-то вроде [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+$"
}
);
Мои вопросы:
- Возможно ли это?
- Есть примеры? Большинство примеров, которые я нашел, украшают все контроллеры.