Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Metode WithOpenApi tidak digunakan lagi dalam .NET 10. Memanggil metode ini sekarang menghasilkan diagnostik ASPDEPR002 waktu kompilasi dan peringatan standar Obsolete yang menyatakan:
WithOpenApi tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Untuk informasi selengkapnya, kunjungi https://aka.ms/aspnet/deprecate/002.
Versi yang diperkenalkan
.NET 10 Pratinjau 7
Perilaku sebelumnya
Sebelumnya, Anda dapat menggunakan WithOpenApi metode ekstensi tanpa peringatan apa pun:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // No warnings.
Perilaku baru
Mulai dari .NET 10, menggunakan WithOpenApi metode ekstensi menghasilkan peringatan kompilator:
app.MapGet("/weather", () => ...)
.WithOpenApi(); // Warning ASPDEPR002: WithOpenApi is deprecated...
Namun, panggilan masih mengkompilasi dan menjalankan.
Jenis perubahan yang memutus kompatibilitas
Perubahan ini dapat memengaruhi kompatibilitas sumber .
Alasan perubahan
WithOpenApi fungsionalitas duplikat sekarang disediakan oleh alur pembuatan dokumen OpenAPI bawaan. Menghentikan penggunaannya menyederhanakan permukaan API dan mempersiapkan penghapusan akhirnya.
Tindakan yang direkomendasikan
Hapus .WithOpenApi() panggilan dari kode Anda.
Jika Anda menggunakan
Microsoft.AspNetCore.OpenApiuntuk pembuatan dokumen, gunakan AddOpenApiOperationTransformer<TBuilder>(TBuilder, Func<OpenApiOperation,OpenApiOperationTransformerContext,CancellationToken,Task>) metode ekstensi.Sebelum:
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();Sesudah:
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();Jika Anda menggunakan
Swashbuckleuntuk pembuatan dokumen, gunakanIOperationFilterAPI.Jika Anda menggunakan
NSwaguntuk pembuatan dokumen, gunakanIOperationProcessorAPI.