ASP.NET Web API Uygulaması 1 – Postman üzerinden post-get-delete işlemlerinin test edilmesi

Merhaba,

Bu yazımızda microsoft’un http protokolü üzerinden haberleşebilen framework ü olan asp.net web api ile .net üzerinde restful servisler yazıp,gerek mvc uygulaması gerek mobil uygulama ile gerek postman üzerinden işlemlerin nasıl yapılacağı ile ilgili örneklerden bahsedeceğiz. Ama ilk olarak yazılan method’ların postman üzerinden test edilmesini işliyor olacağız.

Örneğimizi visual studio 2017 ile .net 4.5 ortamında asp.net 4.5 ile Sql Server 2014 e restore ettiğimiz Northwind db si ile hazırlıyor olacağız.

İlk olarak api ile başlayalım;

1.PNG

Yeni proje için ASP.NET WEB Application ını seçiyorum ve NorthwindWebApi ismini veriyorum.

2

Bu adımda asp.net in boş template ini seçip core referans olarak web api yi seçiyoruz OK dedikten sonra projenin açılmasını bekliyoruz.

Hiçbir adımı atlamadan ss leri paylaşan biri olarak, buna devam ediyorum  ve proje açıldıktan sonraki halini de aşağıda gösteriyorum 🙂

3

Şimdi de model klasörünün altına bir klasör daha atıp (Orm) buraya entity data modellerimi alacağım ado.net ile.Klasöre sağ tıklayıp new item ile açılan sayfada,

4

Ado.net Entity Data Model i seçip Add diyoruz. Choose Model Content  (Model İçeriği) aşamasında EF Designer from Database ile devam ediyoruz. Choose Your Data Connection (Veri Bağlantısı) aşamasında New Connection ı tıklayıp Data Source (Veri Kaynağı) unu Microsoft SQL Server (SqlClient) seçiyoruz.

5.PNG

Server Name (Sunucu Adı) ine de local inizde tuttuğuz Sql Server ınızın ismini veriyorsunuz (Bilgisayar Adı\Sql Server Instance Name) . Benim her zaman ki gibi instance name’im BEŞİKTAŞ 🙂 Authentication işlemi için sql server authentication ı seçip yetkili kullanıcı adı ve şifreyi girip Select Database den Northwind database ini seçip OK deyip devam ediyoruz.

6

Veri bağlantı seçimi ekranına geri gönderildikten sonra,connection string i webconfig’e hangi isimle kaydedilmesini istiyorsanız aşağıya onu yazıyoruz. Context class ismi bu olacak ve db bağlantıları için buradan referans alacağız. Sonraki adım da “Choose Your Version” entity framework ün versiyonunu seçmemizi istiyor,burada ef6 yı seçip devam ediyoruz.

Choose Your Database Object and Settings (Veritabanı nesnelerini ve Ayarları) aşamasında Tabloları alacağız biz sadece, Table ı seçip bitiriyoruz.

7

Bitir dedikten sonra projemize eklenmesini bekliyoruz. Sonuç olarak ekrana diyagram görüntüsü gelecektir. Sağ tarafta klasör altında da tabloların entity sınıflarını görebilirsiniz.

8.PNG

Şimdi model klasörünü altına bir de dto (data transfer object) sınıflarını ekleyeceğimiz klasör daha atıyoruz.

9

Categories tablosu için CatModel isminde bir model hazırladık.

Şimdi de bir adet controller ekleyeceğiz. Controller klasörüne sağ tık > add > controller deyip,

10.PNG

web api 2 controller ı seçip ismine Category diyoruz ve devam ediyoruz. Controller da GetListOfCategories isimli bir method açtık ve o method bize model sınıfımız üzerinden bir koleksiyon dönecek,dönecek fakat bunun veri tipi xml yada json olacak :). asp.net api bir rest mimari idi ve bu mimari ile xml veya json ile data tipi ile haberleşilir idi.

11.PNG

Şimdi ilk olarak bu methodu POSTMAN de bir test edelim sonuçları göre göre gidelim,daha sonra zaten diğer uygulama araçları ile de test edeceğiz.

12.PNG

url kısmında apicontroller da yazdığımız methodun üzerinde Route attiribute ünde  hangi erişim stringini verdiysek onu yazıyoruz. Yapacağımız request get tipinde olduğu için GET işaretli bir şekilde kalıyor ve SEND diyip isteği gönderiyoruz, Body kısmında sonucu görebiliriz. Json veri tipinde bize tüm kategorileri döndürdü.

Şimdi de id ye göre bir arama yaptıralım.

13

erişim linkimiz bu sefer localhost/api/Category/getbyid oldu. Postman de deniyoruz.

14

Parametreli methodumuzu da test etmiş olduk.

Şimdi de parametre olarak bir model gönderelim onun testini yapalım.

15

Parametre olarak gönderilecek olan modelin property lerini _id  ve _keyword olarak belirliyorum.

16.PNG

Method hazır,postman den kontrol ediyoruz.

17

Yukarıdaki görselde headers alanı ajax işlemlerindeki gibi,gönderilecek ve alınacak olan verinin tipi belirlenir. Body kısmında ise, api tarafında oluşturduğumuz modelin property leri key, değerleri de value kısmına yazılmalı. Son olarak route attribute ünde belirttiğimiz url i yapıştırıp post işlemini gerçekleştiriyoruz.Post işlem yapmamızın nedeni model gönderecek olmamız. Sonuç alttaki Body section ında json olarak listelenir.

18

Şimdiye kadar, parametresiz method tan,değişken türlü parametreli method tan (int,string) ve model olarak gönderilen parametreli method tan örnekleri gördük.

Şimdi de insert ve delete işlemlerini deneyelim.

19

İnsert işlemi için CatModel sınıfını model olarak alıyoruz ve category entity sinde kaydediyoruz. Kendimizin oluşturduğu ResultMessage sınıfında IsOK ve Message property leri bulunmaktadır.

Postman ile test ediyoruz.

Headers daki tipleri belirtiyoruz yine.

20

Body kısmında da CatModel in property lerine değerleri aşağıdaki gibi girip post işlemini gerçekleştiriyoruz ve aşağıdaki Body kısmında ResultMessage sınıfımızla gönderdiğimiz sonucu alıyoruz.

21

Db tarafında da görseli aşağıda paylaşıyorum.

22

Son olarak delete işlemini gösterelim.

23.PNG

Controller model i yukarıdaki şekilde uyarladıktan sonra Postman de kontrol ediyoruz.

24

Delete işlemini de test etmiş bulunuyoruz.

Authorize işlemlerini bu yazı serisi içerisinde ayrıca paylaşıyor olacağım.

Buraya kadar okuyanlar için teşekkürler/başarılar 🙂

ASP.NET Web API Uygulaması 1 – Postman üzerinden post-get-delete işlemlerinin test edilmesi” için bir yorum

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s