Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
43 lines (26 sloc) 2.88 KB
layout title categories image tags description filename
post
Owin Self-Host ile Swagger Web API Tools Kullanımı
Web API
owin_self_host_ile_swagger_web_api_tools_kullanimi.jpg
webapi
swagger
selfhosted
owin
.netcore
Owin Self Host Nedir? Swagger Nedir? Web Api ile Swagger Nasıl Kullanılır? Rest API Nedir? Rest API Nasıl Kullanılır?
2018-01-13-owin-self-host-ile-swagger-web-api-tools-kullanimi

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.

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code1.jpeg){: .pic}

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

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code2.jpeg){: .pic}

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.

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code3.jpeg){: .pic}

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

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code4.jpeg){: .pic}

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code5.jpeg){: .pic}

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.

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code6.jpeg){: .pic}

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

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code7.jpeg){: .pic}

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

![Web API]({{ site.url }}{{ site.baseurl }}/images/news/webapi-swagger/code8.jpeg){: .pic}

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