.NET Core WEB API Projesine Swagger Yardım Sayfası Ekleme

Servis uygulamamızdaki endpoint’leri görüp yönetmemizi sağlayan, bildiğimiz .Net’in kendi oluşturduğu Helper sayfası var ancak bu sayfada aynı zamanda metodlarımızı,  göndereceğimiz ve bize dönecek modelleri görerek test etmek işimizi oldukça kolaylaştıracaktır. Bu yazıda, bu isteğimizi yerine getirebilecek bir kütüphanenin, Swagger’ın, Asp.Net Core ile yazılmış Web API uygulamamıza nasıl eklendiğini ve çalıştığını göreceğiz. Öncelikle şu kütüphanenin yüklü olması gerekiyor:

Swashbuckle.AspNetCore

 

 

Sonrasında projemizin Startup.cs dosyasına gidiyoruz ve swagger arayüzünün çağıracağımız tanımlamaları yapacağımız kodlarımızı yazıyoruz. ConfigureServices metodunun içinde:

 

Burada Authorization’ı belirtmemiz, veri post veya get ederken eğer kullanıyorsak güvenlik yapımızı test sürecinde, arayüzde rahatça kontrol edebilmemizi sağlar. Ayrıca Configure metodumuzda:

 

 

Sonrasında projemize sağ tıklayıp, özelliklerde Compiler bölümündeki Generate xml documentation’ı tikliyoruz.

 

 

Projeyi çalıştırdığımıda çıktımız şöyle oluyor:

 

 

Olası Hatalar:

Failed to Load API Definition hatasının olası çözümleri:

  1. [HttpPost] veya [HttpGet] attribute’larını tanımlamayı unutmak, bu hatayı alma sebeplerimizden birisidir. Dahil olmasını istemediğimiz metodlarımızın üzerine

[ApiExplorerSettings(IgnoreApi = true)]

           attribute’ünü eklememiz gerekiyor.

  1. Access-Control-Allow-Origin header’ını aktif etmek
  2. UseCors(“SiteCorsPolicy”); kodunu Configure(IApplicationBuilder app, IHostingEnvironment env) metoduna eklemek.
  3. Configure metodunda Swagger’ı ekleme işlemini if komutunun içine taşımak.

Örnek projeyi, GitHub‘dan indirebilirsiniz.

Swagger’ın GitHub’ını buradan inceleyebilirsiniz..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir