ImsApiVersioning 1.0.6

Program.cs

 builder.Services.AddImsApiVersioning(option =>
    {
        option.DefaultVersion = 2;
        option.SupportedVersion = ["1.0", "2.0"];
        option.CurrentSetting = "all";
        option.SwaggerTitle = "New company";

    });
builder.Services.AddVersionResolver(builder.Configuration);
builder.Services.AddSwaggerGenCustom();

DI Register. It Register all the classes inherited by the interface

builder.Services.AddVersionedService<IClass>(ServiceLifetime.Scoped);

In App section Before app.UseRouting

    app.UseImsApiVersioning();
   

    app.UseSwagerUICustom();

    app.UseRouting();

Class creation

public Interface IClass
{
string doSomething(string a,string b);
int Add (int a, int b);
}

public class ClassA:IClass
{
    private readonly ILogger<ClassA> _logger;
    public ClassA(ILogger<ClassA> logger)
    {
        _logger=logger;
    }

    public string doSomething(string a, string b)
    {
        return "I am Class A";
    }

    public virtual int Add (int a, int b)
    {
        return a+b;
    }
}


public class ClassAv1:ClassA
{
    private readonly ILogger<ClassAv1> _logger;
    public ClassA(ILogger<ClassAv1> logger):base(logger)
    {
        _logger=logger;
    }

    public override int Add(int a,int b)
    {
        return a * b ;
    }
}


public class ClassAv2:ClassA
{
    private readonly ILogger<ClassAv1> _logger;
    public ClassA(ILogger<ClassAv1> logger):base(logger)
    {
        _logger=logger;
    }

    public override int Add(int a,int b)
    {
        return base(a,b);
    }
}

IN Endpoint

It swagger it will automatically added v1, v2 'as mention in option.DefaultVersion = 2; option.SupportedVersion = ["1.0", "2.0"];

While calling api endpoint

add v1 like api/v1/dosomething, api/v2/dosomething

Note

ClassAv1 will be resolved when api/v1 ClsasAv2 will be resloved when api/v2

No packages depend on ImsApiVersioning.

Previous way of Version factory is changed, Now it will resolve iteself without versionfactory. You can still use it in previous version way.

Version Downloads Last updated
1.1.1 6 09/24/2026
1.1.0 2 09/24/2026
1.0.6 3 09/22/2026
1.0.5 11 08/05/2026
1.0.4 30 07/25/2026
1.0.3 7 07/25/2026
1.0.2 8 07/22/2026