Search code examples
c#asp.net-corevisual-studio-2022.net-8.0aspnet-api-versioning

Visual Studio 2022 Endpoints Explorer not showing minimal apis endpoints defined in extension methods


If I have the following code in my program.cs I get an entry in the Endpoints Explorer in Visual Studio 2023.

var example = app.NewVersionedApi("example");

var group = example.MapGroup("v{version:apiVersion}")
                    .HasApiVersion(1);

example.MapGet("/", () =>
{
    return Results.Ok();
}); 

If I change my code to that is comes from an extension method it does not appear.

public static class StaticClass
{
    public static void AddEndpoints(this IVersionedEndpointRouteBuilder example)
    {
        var group = example.MapGroup("v{version:apiVersion}")
                     .HasApiVersion(1);

        example.MapGet("/", () =>
        {
            return Results.Ok();
        });
    }
}

Then my program.cs becomes

var example = app.NewVersionedApi("example");
example.AddEndpoints();

How can I make it display in Endpoints Explorer? It does appear in Swagger.


Solution

  • I change the IVersionedEndpointRouteBuilder to IEndpointRouteBuilder and it works. enter image description here