Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os WithOpenApi métodos foram preteridos no .NET 10. Invocar esses métodos agora produz o diagnóstico ASPDEPR002 em tempo de compilação e um aviso padrão Obsolete que afirma:
WithOpenApi foi preterido e será removido em uma versão futura. Para mais informações, visite https://aka.ms/aspnet/deprecate/002.
Versão introduzida
.NET 10 Prévia 7
Comportamento anterior
Anteriormente, você podia usar o WithOpenApi método de extensão sem avisos:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // No warnings.
Novo comportamento
A partir do .NET 10, o uso do método extension produz um aviso do WithOpenApi compilador:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // Warning ASPDEPR002: WithOpenApi is deprecated...
No entanto, a chamada ainda compila e executa.
Tipo de mudança disruptiva
Essa alteração pode afetar compatibilidade da fonte.
Motivo da mudança
WithOpenApi funcionalidade duplicada agora fornecida pelo pipeline de geração de documentos OpenAPI integrado. A sua substituição simplifica a superfície da API e prepara-se para a sua eventual remoção.
Ação recomendada
Remova .WithOpenApi() as chamadas do seu código.
Se você usou
Microsoft.AspNetCore.OpenApipara geração de documentos, use o AddOpenApiOperationTransformer<TBuilder>(TBuilder, Func<OpenApiOperation,OpenApiOperationTransformerContext,CancellationToken,Task>) método de extensão.Antes:
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();Depois:
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();Se você usou
Swashbucklepara geração de documentos, use aIOperationFilterAPI.Se você usou
NSwagpara geração de documentos, use aIOperationProcessorAPI.