Я использую WebAPI MVC с .net framework.Я пытаюсь отобразить несколько версий конечных точек в моем контроллере.У меня устаревшая 1.0 и текущая 1.1.В интерфейсе Swagger это просто показывает перечеркнутый 1.0.Я хотел бы видеть 1.1 ниже.И 1.0, и 1.1 работают, если я их называю.
public class FooController : BaseFundApiController<FooRequest>
{
[Obsolete]
[ApiVersion("1.0")]
[Route("api/v1.0/Foo")]
[ResponseType(typeof(FooResponse))]
public async Task<HttpResponseMessage> FooInfo([FromBody] FooRequest FooRequest)
{
}
[ApiVersion("1.1")]
[Route("api/v1.1/Foo")]
[ResponseType(typeof(FooResponse))]
public async Task<HttpResponseMessage> FooInfo2([FromBody] FooRequest FooRequest)
{
}
}
Вот соответствующие биты для маршрутизации webapi
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}"
);
var constraintResolver = new DefaultInlineConstraintResolver
{
ConstraintMap =
{
["apiVersion"] = typeof( ApiVersionRouteConstraint )
}
};
config.MapHttpAttributeRoutes(constraintResolver);
config.AddApiVersioning();
}
}
Как мне отобразить обе версии конечной точки?