
.Net 9 ile Scalar (Swagger UI 👋)
Api dökümantasyonu, modern yazılım geliştirme süreçlerinin en önemli parçasıdır. .Net 9
ile birlikte default olarak gelen Swagger
desteği Microsoft.AspNetCore.OpenApi
kütüphanesine geçişi ile birlikte geliştiricilerin aynı ihtiyaçları karşılayacak yeni bir stratejiye geçmesi gerekmektedir.
Microsoft yeni oluşturduğu Microsoft.AspNetCore.OpenApi
paketi Swagger
gibi OpenApi belgeleri oluşturmayı sağlamaktadır. Böylelikle her güncelleme sonrasında third party kütüphanelerin desteklenmesi ve kütüphane sahiplerinin yeni sürüme göre güncelleme yayınlamaları gibi süreçlerden bu konu özelinde kurtulmuş oluyor. Peki neden? Yaptığım incelemelere göre bu değişiklik Swagger
kütüphanesinin bakımının yapılmamasından kaynaklandığını söyleyebiliriz. Community üyelerinin bu konuda tartışmaları Reddit, Github gibi platformlarda oldukça fazla.
Bu konuyu merak ediyor ve nedenini tam anlamıyla öğrenmek istiyorsanız ⬇️
Scalar
Scalar .Net ortamında OpenApi desteğiyle modern bir REST API client ve döküman oluşturmanızı sağlayan open source bir platformdur. Scalar.AspNetCore paketi ile basit, sade ve entegrasyon aşamasında basit kurallar için bir kütüphanedir.
Entegrasyon için öncelikle Microsoft.AspNetCore.OpenApi
ve Scalar.AspNetCore
kütüphanelerini NuGet üzerinden indirdikten sonra aşağıdaki gibi konfügürasyon yapabilirsiniz.
builder.Services.AddOpenApi();
app.MapOpenApi();
app.MapScalarApiReference();
En sade ve basit entegrasyon yöntemi yukarıdaki gibidir.
scalar/v1
adresine gittiğinizde OpenApi dökümantasyonuna ulaşabilir ve endpointlerinizi test edebilirsiniz.
Veya options değerlerini değiştirerek arayüzünü customize edebilirsiniz.
app.MapScalarApiReference(opt =>
{
opt
.WithTitle("Your Custom Title")
.WithTheme(ScalarTheme.Kepler)
.WithDefaultHttpClient(ScalarTarget.CSharp, ScalarClient.HttpClient);
});
Boom ! 💣
