Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die WithOpenApi Methoden sind in .NET 10 veraltet. Das Aufrufen dieser Methoden erzeugt jetzt die Kompilierungszeitdiagnose ASPDEPR002 und eine Standardwarnung Obsolete , die besagt:
WithOpenApi ist veraltet und wird in einer zukünftigen Version entfernt. Weitere Informationen finden Sie unter https://aka.ms/aspnet/deprecate/002.
Eingeführte Version
.NET 10 Preview 7
Vorheriges Verhalten
Zuvor konnten Sie die WithOpenApi Erweiterungsmethode ohne Warnungen verwenden:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // No warnings.
Neues Verhalten
Ab .NET 10 erzeugt die Verwendung der WithOpenApi Erweiterungsmethode eine Compilerwarnung:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // Warning ASPDEPR002: WithOpenApi is deprecated...
Der Aufruf wird jedoch weiterhin kompiliert und ausgeführt.
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für Änderung
WithOpenApi Duplizierte Funktionalität, die jetzt von der integrierten OpenAPI-Dokumentgenerierungspipeline bereitgestellt wird. Die Veraltetkeit vereinfacht die API-Oberfläche und bereitet sich auf die spätere Entfernung vor.
Empfohlene Aktion
Entfernen Sie .WithOpenApi() Aufrufe aus Ihrem Code.
Wenn Sie die Dokumentgenerierung verwendet
Microsoft.AspNetCore.OpenApihaben, verwenden Sie die AddOpenApiOperationTransformer<TBuilder>(TBuilder, Func<OpenApiOperation,OpenApiOperationTransformerContext,CancellationToken,Task>) Erweiterungsmethode.Vorher:
using Microsoft.AspNetCore.OpenApi; var builder = WebApplication.CreateBuilder(); var app = builder.Build(); app.MapGet("/weather", () => ...) .WithOpenApi(operation => { // Per-endpoint tweaks operation.Summary = "Gets the current weather report."; operation.Description = "Returns a short description and emoji."; return operation; }); app.Run();Danach:
using Microsoft.AspNetCore.OpenApi; var builder = WebApplication.CreateBuilder(); var app = builder.Build(); app.MapGet("/weather", () => ...) .AddOpenApiOperationTransformer((operation, context, ct) => { // Per-endpoint tweaks operation.Summary = "Gets the current weather report."; operation.Description = "Returns a short description and emoji."; return Task.CompletedTask; }); app.Run();Wenn Sie die Dokumentgenerierung verwendet haben
Swashbuckle, verwenden Sie dieIOperationFilterAPI.Wenn Sie die Dokumentgenerierung verwendet haben
NSwag, verwenden Sie dieIOperationProcessorAPI.