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.

image-center

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

image-center

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.

image-center

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

image-center

image-center

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.

image-center

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

image-center

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

image-center

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