Step 1: Install API Versioning Package
dotnet add package Microsoft.AspNetCore.Mvc.Versioning
Step 2: Configure API Versioning
builder.Services.AddApiVersioning(options => {
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
options.ApiVersionReader = new QueryStringApiVersionReader("api-version");
});
Step 3: Apply Versioning to Controllers
[ApiController]
[Route("api/v{version:apiVersion}/products")]
[ApiVersion("1.0")]
public class ProductsV1Controller : ControllerBase {
[HttpGet]
public IActionResult Get() => Ok("Products from v1");
}