Skip to content

Provides a set of libraries which add service API versioning to ASP.NET Core.Api. Support major,minor,build version

Notifications You must be signed in to change notification settings

tuyndv/Microsoft.AspNetCore.Mvc.Versioning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 

Repository files navigation

ASP.NET Core (Microsoft.AspNetCore.Mvc.Versioning)

  • Adds service API versioning to your ASP.NET Core applications

  • Support Major.Minor.Build Version (x.x.x)

  • Support Get LastVersionApi

  • NuGet Release


Documentation

1. Version Format

Version Format Example Interpretation
{groupVersion} 2013-03-21, 2012-12-01 3.3, 1.2
{majorVersion} 3 3.0
{majorVersion}.{minorVersion} 1.2 1.2
{majorVersion}.{minorVersion}.{buildVersion} 1.2.2 1.2.2

2. Startup.cs

 services.AddApiVersioning( o =>
            {
                o.AssumeDefaultVersionWhenUnspecified = true;
                o.ReportApiVersions = true;
                o.DefaultApiVersion = new ApiVersion( 1, 2, 2 );
                o.SupportLastVersionApi = true;
            } );

3. ValuesController.cs

namespace Microsoft.Examples.Controllers
{
    [ApiVersion( "1.0" )]
    [ApiVersion( "1.1" )]
    [ApiVersion( "1.0.1" )]
    [ApiVersion( "1.0.2" )]
    [ApiVersion( "1.2" )]
    [ApiVersion( "1.2.2" )]
    [Route( "api/[controller]" )]
    public class ValuesController : Controller
    {
        // GET api/values?api-version=1.0
        [HttpGet, MapToApiVersion( "1.0" )]
        public string GetV1() => $"Controller = {GetType().Name}\nVersion V1.0";

        [HttpGet, MapToApiVersion( "1.1" )]
        public string GetV11() => $"Controller = {GetType().Name}\nVersion V1.1";

        [HttpGet, MapToApiVersion( "1.0.1" )]
        public string GetV101() => $"Controller = {GetType().Name}\nVersion V1.0.1";

        [HttpGet, MapToApiVersion( "1.0.2" )]
        public string GetV102() => $"Controller = {GetType().Name}\nVersion V1.0.2";

        [HttpGet, MapToApiVersion( "1.2" )]
        public string GetV12() => $"Controller = {GetType().Name}\nVersion V1.2";

        [HttpGet, MapToApiVersion( "1.2.2" )]
        public string GetV122() => $"Controller = {GetType().Name}\nVersion V1.2.2";
    }
}

About

Provides a set of libraries which add service API versioning to ASP.NET Core.Api. Support major,minor,build version

Resources

Stars

Watchers

Forks

Packages

No packages published