Ana içeriğe atla

Asp.Net Web API Help Page ve Help Page Simple Test Eklentisi

Asp.Net Web Api - Help Page Sayfası Ekleme

Asp.Net Web API projelerimizde genellikle geliştirdiğimiz api parametre, link ve diğer detayları hakkında dökümantasyon yapmamız gerekir. Bu dökümantasyonu rest api endpoint lerini kullanacak departman, yada kişilere ieltiriz.

Bizi bu dökümantasyon zahmetinden kurtarmak için microsoft otomatik olarak yazdığımız apilerin dökümantasyonunu yapan bir "help page" alt yapısı geliştirmiş. İlgili alt yapıyı kullanarak web api dökümantasyonu sağlamak için sırası ile aşağıdaki işlemleri yapmamız yeterlidir.

Aşamalar

1.Visual Studio da projemizi açıyoruz.
2.Visual Studio "Tool" menüsünden NuGet Package Manager -> Package Manager Console u açıyoruz.
3.Bu alt kısımda açılan console ekranında aşağıdaki komutu yazıp enter a basıyoruz.

C# Projesi için  :

Install-Package Microsoft.AspNet.WebApi.HelpPage


Visual Basic Projesi için :

Install-Package Microsoft.AspNet.WebApi.HelpPage.VB

4. İşlem tamamlandığında Visual Studio Solution 'da root dizinde "Areas/HelpPage" dizini oluşmuş olacak. Bunun anlamı yükleme işlemimiz başarıyla tamamlandı demek oluyor.

5. Son olarak projenizde Asp.Net MVC alt yapısı da kullanmıyor iseniz Global.asax dosyanıza aşağıdaki kodu eklemeniz gerekiyor.


Eklenecek Kod :

protected void Application_Start() {

AreaRegistration.RegisterAllAreas();

 }

Not : Muhtemelen Application_Start metodu vardır Global.asax dosyanızda sadece içindeki kısmı eklemeniz yeterlidir.


Karşımıza aşağıdaki gibi bir ekran gelecektir.


Yukarıdaki görselde ben sadece login ve register apileri eklemiştim ilgili apileri görebiliyoruz. Üzerlerine tıkladığımızda api parametre ve açıklamalarını da görebiliriz.


Asp.Net Web Api - Help Page Simple Test Eklentisi Ekleme

Test Client Eklentisini Yükleyelim

Asp.Net Web Api projemiz üzerinde sağ tuş tıklayarak , "Manage Nuget Packages" seçeneğini seçiyor ve artından "WebApiTestClient" kelimesini aratıyoruz. Çıkan ekrandan "Web Api Test Client" eklentisini yüklüyoruz. İlgili ekran aşağıdaki gibi olmalıdır.




İlgili eklentiyi ekledikten sonra aşağıdaki dosyalar projemize yüklenmiş olacak; 
 - Scripts\WebApiTestClient.js
 - Areas\HelpPage\TestClient.css
 - Areas\HelpPage\Views\Help\DisplayTemplates\TestClientDialogs.cshtml
 - Areas\HelpPage\Views\Help\DisplayTemplates\TestClientReferences.cshtml


Test Client Eklentisini Web Api Help Page Alt Yapısına Ekleyelim

Areas\HelpPage\Views\Help/Api.cshtml dosyasını açıyor ve aşağıdaki iki parça kodu aşağıdaki resimdeki görüldüğü gibi ekliyoruz. (Resimdeki seçili kısım gibi en alta ekleme yapılmalı)

 - @Html.DisplayForModel("TestClientDialogs")
 - @Html.DisplayForModel("TestClientReferences")

Eklenecek Kod :

@Html.DisplayForModel("TestClientDialogs")

@section Scripts{
<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" />
@Html.DisplayForModel("TestClientReferences")
 }


Bu ekleme sonrasında artık tüm web api metodlarımızın detay sayfalarında test butonu çıkacak ve api metodlarımızı rahatca test edebileceğiz. Son ekran aşağıdaki gibi olacaktır.





Bu blogdaki popüler yayınlar

Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

iki ayrı veri tabanı içindeki tablolar ile işlem yapılmak istendiğinde eğer dil sorunu çıkıyor ise sorgumuzun sonuna 'COLLATE TURKISH_CI_AS' sözcüğünü ekleyerek sorunu çözebiliriz.Örnek : SELECT * FROM veritabani1.dbo.URUN u1 INNER JOIN veritabani2.dbo.URUNLER u2 ON u1.kod = u2.kod COLLATE TURKISH_CI_AS umarım faydalı olmuştur.

IEnumerable ile List Arasındaki Farklar

Sık kullandığımız iki tip olan IEnumerable ve List tipleri ile ilgili sürekli kullanılmasına rağmen farkının çok bilinmediğini düşünerek bu konuda kısa bir yazı yazmak istedim. Bakalım aralarında farklar nelermiş. IEnumerable bir interface iken, List yine IEnumerable sınıftan türeyen somut ( concrete) bir sınıftır. Arasındaki Farklar :  IEnumerable  - List e göre iteration çok daha hızlıdır. Performans için kullanılabilir.  - Read Only bir tip olduğu için Add, Remove gibi işlemler yapılamaz, IEnumerable ile sadece iteration, sort, filter gibi işlemler yapılabilir.  - Soyut bir class olduğu için istenen tipe somutlaştırılabilir.  - yield tipi ile birlikte kullanılabilir.(Promise veri döndürme,state-machine liste kullanımı)  - Linq sorguları veri tabanı sorgularınızın cevaplarınızı IEnumerable olarak döndürür, bu size siz ilgili IEnumerable list i iterate edene kadar ilgili sorguyu çalıştırmama performansı verir, böylece ilgili listeyi kullanmaya ihtiyacınız olmadığı bir durumda yada k

Logo (LOJECTS.exe ve LOBJECTS.dll) Register İşlemleri

LOBJECTS.dll register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : regsvr32 logoDosyaYolu\LOBJECTS.dll yazıyoruz ve dll imizi register ediyoruz UNREGISTER İÇİN : regsvr32 -u logoDosyaYolu\LOBJECTS.dll ile de unregister edebiliriz. LOBJECTS.exe register işlemi : başlat-> çalıştır -> cmd yazıp konsole ekranına geçiyoruz REGİSTER İÇİN : logoDosyaYolu\LOBJECTS.exe -REGSERVER yazıyoruz ve LOBJECTS.exe mizi register ediyoruz. UNREGISTER İÇİN : logoDosyaYolu\LOBJECTS.exe -UNREGSERVER yazıyoruz ve LOBJECTS.exe mizi unregister ediyoruz. Umarım yararlı olmuştur.