Freigeben über


Abgekündigte WithOpenApi-Erweiterungsmethode

Die methoden WithOpenApi wurden in .NET 10 veraltet. Das Aufrufen dieser Methoden erzeugt jetzt die Kompilierungszeitdiagnose und eine Standardwarnung , die besagt:

WithOpenApi ist veraltet und wird in einer zukünftigen Version entfernt. Weitere Informationen finden Sie unter .

Eingeführt in Version

.NET 10 Preview 7

Vorheriges Verhalten

Zuvor konnten Sie die Erweiterungsmethode ohne Warnungen verwenden:

app.MapGet("/weather", () => ...)
   .WithOpenApi();   // No warnings.

Neues Verhalten

Ab .NET 10 erzeugt die Verwendung der erweiterungsmethode WithOpenApi 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

Duplizierte Funktionalität, die jetzt von der integrierten OpenAPI-Dokumentgenerierungspipeline bereitgestellt wird. Die Außerkraftsetzung vereinfacht die API-Oberfläche und bereitet die spätere Entfernung vor.

Entfernen Sie Aufrufe aus Ihrem Code.

  • Wenn Sie für die Dokumentgenerierung verwendet haben, verwenden Sie die Erweiterungsmethode .

    Before:

    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 für die Dokumentgenerierung verwendet haben, verwenden Sie die API.

  • Wenn Sie für die Dokumentgenerierung verwendet haben, verwenden Sie die API.

Betroffene APIs