Owin Self-Host ile Swagger Web API Tools Kullanımı

Merhabalar bu makalede restfull apilerimizi dökümante yapabildiğimiz son zamanlarda standart haline gelen Swagger’ ı self- host bir api da nasıl kullanabileceğimizi inceleyeceğiz. Ben uygulamayı bir console application üzerinde host yapacağım için bir console application oluşturuyorum. Daha sonra Nuget üzerinen Install-Package Microsoft.AspNet.WebApi.OwinSelfHost ile Owin kütüphanesini ekliyoruz. Kütüphane yüklendikten sonra yeni Startup.cs classını ekliyoruz.

MapHttpRoute ayarlarımızı tanımlıyoruz. Startup sınıfımızı tamamladıktan sonra projemize ValuesController isminde bir class ekliyoruz.

ValuesController içerisine ilgili metotlarımız tanımlıyoruz. Metotlar üzerinde comment eklediğimizde Swagger başığında bu commentler listelenecektir.

ValuesController tanımlaması bittikten sonra Program.cs içerisinde servisi ayağa kaldırmalıyız.

Projeyi build yapıp çalıştıralım.

Web Api sorunsuz bir şekilde yalıştı. Şimdi Swagger entegrasyonunu hazırlayalım. Self-Host uygulaması için Swagger entegrasyonunu Swashbukle kütüphanesi ile yapacağım. Install-Package Swashbuckle.Core kodu ile projemize ekliyoruz. Kütüphane projeye ekledikten sonra proje üzerinde Properties => Build => Output Path bölümündeki XML documentation file seçeneğini işartliyoruz. Bu şekilde comment çıktılarının yüklenen xml dosyasının yolunu alabiliyoruz.

Daha sonra Startup.cs içerisinde GetXmlCommentPath metodu ile Xml output path i döndürüyoruz.

Configuration ayarlarında Swagger’ı çalıştırmalıyız.

IncludeXmlComments tanımına GetXmlCommentPath’ ı set ediyoruz. Bu şekilde Self-Host uygulamaya Swagger entegrasyonunu eklemiş oluyoruz. Bir sonraki makalede görüşmek üzere.