API Versioning in ASP.NET Core.
Microsoft.AspNetCore.Mvc.Versioning
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddApiVersioning(options =>
{
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(3, 0);
});
}
[ApiController]
[ApiVersion("1.0", Deprecated = true)]
[Route("api/{version:apiVersion}/service")]
public class ServiceV1Controller : ControllerBase
{
[HttpGet]
public ActionResult<string> Get()
{
return nameof(ServiceV1Controller);
}
}
[ApiController]
[ApiVersion("2.0")]
[Route("api/{version:apiVersion}/service")]
public class ServiceV2Controller : ControllerBase
{
[HttpGet]
public ActionResult<string> Get()
{
return nameof(ServiceV2Controller);
}
}
[ApiController]
[ApiVersion("3.0")]
[Route("api/{version:apiVersion}/service")]
public class ServiceV3Controller : ControllerBase
{
[HttpGet]
public ActionResult<string> Get()
{
return nameof(ServiceV3Controller);
}
}
- api-deprecated-versions: 1.0
- api-supported-versions: 2.0, 3.0