Meine Dokumentation lädt das V2-API-Dokument nicht in Swagger, wenn ich die Anwendung ausführe.
Ich habe dieses Swagger-Setup:
Code: Select all
app.UseSwaggerUI(
options =>
{
var descriptions = app.DescribeApiVersions();
// build a swagger endpoint for each discovered API version
foreach (var description in descriptions)
{
var url = $"/swagger/{description.GroupName}/swagger.json";
var name = description.GroupName.ToUpperInvariant();
options.SwaggerEndpoint(url, name);
}
});
Code: Select all
builder.Services.AddApiVersioning(options =>{
options.AssumeDefaultVersionWhenUnspecified = false;
options.ReportApiVersions = true;
options.ApiVersionReader = new UrlSegmentApiVersionReader();
}).AddApiExplorer(options =>
{
options.GroupNameFormat = "'v'VVV";
options.SubstituteApiVersionInUrl = true;
});
private static RouteGroupBuilder MapGroup(diese WebApplication-App, EndpointGroupBase-Gruppe)
{
var groupName = group.GroupName ?? group.GetType().Name;
Code: Select all
return app.NewVersionedApi()
.MapGroup($"/api/v{group.MajourVersion}/{groupName}")
.WithOpenApi()
.WithTags(groupName);}

Es gibt dort keine Version 2, weder im Dropdown-Menü oben noch in der Liste links.
Was fehlt mir?
Bearbeiten
Ich habe die angeforderten Codeblöcke anstelle von Bildern hinzugefügt. Außerdem habe ich bei jedem Schritt bestätigt (auch beim Hinzufügen der Swagger-Dokumente im ersten Block), dass zwei Dokumente hinzugefügt werden. Sie werden einfach weder in den Definitionen noch auf der Startseite angezeigt. Ich kann Version 2 anzeigen lassen, wenn es keine Version 1 gibt, aber niemals beides
Mobile version