.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.OpenApive Scalar.AspNetCorekü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 ! 💣

Furkan Güngör
Furkan Güngör

Written by Furkan Güngör

Solution Developer — I want to change the world, give me the source code.

Responses (1)

Write a response

Temiz bir anlatım olmuş, ellerinize sağlık.