API Versioning in ASP.NET Core | See Example

API Versioning in ASP.NET Core allows developers to support multiple versions of their Web API without breaking existing clients. It ensures backward compatibility while introducing new features or changes.

Key Features:

  • Supports URL, query string, header, and media type versioning
  • Helps maintain multiple API versions simultaneously
  • Integrates with controllers and routing
  • Works with attribute-based and conventional routing
  • Ensures backward compatibility for clients

Example – URL Versioning:

[ApiController]
[Route("api/v{version:apiVersion}/[controller]")]
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ProductsController : ControllerBase
{
    [HttpGet]
    public IActionResult GetV1() => Ok("API Version 1.0");

    [HttpGet, MapToApiVersion("2.0")]
    public IActionResult GetV2() => Ok("API Version 2.0");
}

Register API versioning in Program.cs:

builder.Services.AddApiVersioning(options =>
{
    options.ReportApiVersions = true;
    options.AssumeDefaultVersionWhenUnspecified = true;
    options.DefaultApiVersion = new ApiVersion(1,0);
});

API Versioning in ASP.NET Core ensures smooth evolution of APIs while maintaining service for existing clients.

Citations:

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *