Sıfırdan Postman’de Ustalaşın!

DANYAL CAN KAYRAK
7 min readMar 17, 2024

Öncelikle merhabalar. Bu yazımda sizlere backend geliştiricilerinin en yakın dostlarından, en sık kullandığı araçlardan birisi olan Postman hakkında konuşacağız. Bu yazımı en temel düzeyi kapsayacak şekilde ele alacağım. O yüzden eğer düzey konusunda sıkıntı yaşayacağınızı düşünüyorsanız dert etmeyin, okumaya devam edin :)

Postman’i daha iyi anlayabilmek, postman’de derinlere inebilmek için başlamadan önce birkaç konuda ön bilgi vererek başlamamız gerekiyor. O halde kemerlerinizi bağlayın ve postman’in sihirli dünyasında küçük bir geziye hazır olun.

API (Application Programming Interface) Nedir ?

Application Programming Interface kısacası API, geliştirdiğimiz uygulamalarımızda kullanmak üzere gerek sizin oluşturduğunuz gerekse dış kaynaklar tarafından oluşturulan, halihazırda bir sunucuda yer alan, gönderdiğiniz verileri işleyip sizlere istediğiniz sonuçları geri döndüren bir yapıdır.

Evet, tanım üzerinden anlaması biraz zor. O halde işi sizler için biraz daha kolaylaştıracağım.

Bir restaurant düşünelim. Restaurantımız temel olarak 3 şeyden oluşsun. Bunlar bir mutfak, bir garson, bir de yemek salonumuz.

Restaurantımıza bir müşteri geldi. Müşterimiz masasına oturduktan sonra menümüzü verdik. Menüyü inceleyen müşteri isteğini garsona iletir. Garson ise isteği mutfağa iletir. Mutfak gelen siparişe göre yemeği hazırlar. Tekrar garson vasıtasıyla yemeği müşteriye ulaştırır.

Bu örneği dikkate alırsak, müşterimiz bizim attığımız HTTP isteği; menü daha önceden hazırlanmış bir API dokümantasyonu; mutfak canlı bir sunucuda yer alan, gönderdiğimiz istekleri özenle işleyip gerekli doğru çıktılar üretip geri gönderen; garson ise API’dır.

HTTP (Hypertext Transfer Protocol) Nedir ?

API’ı açıklarken HTTP’den bahsettim. O halde onu da biraz açayım.

Hypertext Transfer Protocol kısaca HTTP, bir kaynaktan dağıtılan ve ortak kullanıma uygun verilere ulaşabilmemizi sağlayan bir ağ protokolüdür.

HTTP, bir istemci-sunucu modeli üzerine kuruldur. İstemci (örneğin bir web tarayıcısı), bir sunucuya (örneğin bir web sunucusu) bir istek gönderir ve sunucu bu isteği işleyerek yanıt olarak bir web sayfası, bir dosya veya bir içerik gönderir. Böylelikle internette yer alan bir veriye ulaşmamızı sağlar.

HTTP protokolünde isteklerimizi oluştururken belirli metotlar vasıtasıyla isteklerimizi oluştururuz. En çok tercih edeceğiniz birkaç metoda beraber bakalım.

GET: Sunucudan belirtilen bir kaynağın alınmasını istemek için kullanılır. Bu metot, sunucuya bir istek gönderir ve sunucu belirtilen kaynağı yanıt olarak gönderir. Genellikle, bir web sayfası veya bir dosya almak için kullanılır.

POST: Sunucuya yeni bir veri kümesi göndermek için kullanılır. Örneğin, bir HTML formu doldurulduğunda, bu verileri sunucuya göndermek için POST metodu kullanılır.

PUT: Sunucuya belirli bir kaynağın tamamen veya kısmen değiştirilmiş bir sürümünü göndermek için kullanılır. Bu metot, belirli bir kaynağın yerini belirtir ve bu kaynağın güncellenmiş bir versiyonunu sunucuya gönderir.

DELETE: Sunucudaki belirtilen bir kaynağı silmek için kullanılır. Bu metot, belirtilen bir kaynağı sunucudan kaldırmak için kullanılır.

Bu metotlar en çok kullanılan metotlardan bazılarıdır. Diğer metotlara bu yazıda kullanmayacağımız için yer vermeyeceğim.

Gerekli önbilgilerimizi edindiğimize göre o popüler soru gelsin: Postman Nedir ?

Postman Nedir ?

Postman genelde backend geliştiricileri tarafından oluşturulan API’lara istek atmak, test etmek için kullanılan grafiksel bir arayüz içeren bir test aracıdır. Kısacası eğer bir backend geliştiricisiyseniz sizin en yakın dostunuzdur.

Postman Nasıl Kurulur ?

Postman’i kurmak için resmi sitesinden kullandığınız işletim sistemine göre indirmeniz gerekmektedir.

Resmi sayfasına girince kullandığınız işletim sisteminin ikonuna basarak sizi yönlendirdiği sayfadaki gerekli işlemleri yaparak bilgisayarınıza kurduğunuzdan emin olun.

Bu adımını da tamamladığımıza göre gelelim asıl konumuza, nasıl kullanabileceğimize.

Postman Nasıl Kullanılır ?

Kurulum tamamlandıktan sonra otomatik olarak açılan uygulamamızda şöyle bir ekranla karşılaşacağız.

Bu ekranda yer alan en üst kısımdan (header) başlayalım. Header kısmından kısaca söz etmek gerekirse workspaces butonu ile eğer giriş yapmışsanız çalışma alanlarınız arasında geçiş yapabilir, explore sekmesi ile küresel olarak paylaşılan çalışma alanları, kullanıcılar, koleksiyonlara göz atabilirsiniz. Sağ tarafta yer alan butonlar ile giriş yapabilir veya kayıt olabilirsiniz.

Ana ekranımızda yer alan yan kısmımız (sidebar) ise asıl işlerimizi gerçekleştireceğimiz kısımdır. Koleksiyonlar oluşturabilir, içerisinde API’ınıza özgü dokümantasyonunuzu oluşturabilirsiniz. Bunların hepsini tek tek ele alacağız.

İlk İsteğimizi Oluşturalım

İlk isteğimizi oluşturmak için ana ekranımıza geliyoruz. Buradan Collections (Koleksiyonlar) seçeneğine giriyoruz. Yeni bir koleksiyon oluşturuyoruz.

Koleksiyon Oluşturma

Blank collection (boş koleksiyon) seçeneğini seçtikten sonra koleksiyonunuza istediğiniz adı verebilirsiniz. Ben DemoAPI olarak adlandırdım.

Koleksiyonumuzu oluşturduktan sonra direkt olarak altta çıkan mavi yazı ile veya koleksiyonumuz üzerine sağ tıklayarak Add a request (Yeni istek oluştur) seçeneği ile isteğimizi oluşturabiliriz.

Artık koleksiyonumuzda bir isteğimiz mevcut. Şimdi gelin ilk denemelerimizi yapalım.

Burada isteğimizi internette yer alan bir test API’sine yapacağız. Eğer kendi API’ınız varsa sizler isteklerinizi oraya da yapabilirsiniz.

Verdiğim linke tıklayınca açılan sayfada azıcık aşağı indiğimizde test API’ımızın küçük bir dokümantasyonunu görüyoruz.

Buradan ilk olarak GET metodu olan List Users’a istek atalım. Bunun için isteğin üzerine tıkladıktan sonra request alanında yer alan yola bir defa tıklayın. Açılan sayfada verilerimizin geldiğini göreceksiniz. Bu bilgileri postman üzerinde görebilmek için adres çubuğundaki bağlantımızı kopyalayıp postman’imizde yer alan adres çubuğuna aşağıdaki gibi yerleştiriyoruz ve gönder butonuna basıyoruz.

İsteğimizi attıktan sonra aşağıda bir sekme açıldı. Sekmemizin Body kısmında HTTP isteğimizin gövdesinde yer alan bilgilerimizi, isteğimizin başarı durumu (status) gibi bazı değerler döndüğünü görebiliyoruz.

İsteğimiz sonucu dönen yanıtı incelediğimizde JSON formatında bir veri aldığımızı görüyoruz. Dönen yanıtı farklı seçenekler altında inceleyebiliyoruz. Pretty, Raw, Preview ve Visualize gibi seçenekleri inceleyebilirsiniz.

Açılan penceremizde status(durum) bulunmaktadır. Statuslar ise isteğin sonucunun başarı durumunu gösterir. Bir geliştirici olarak status’lar çok büyük önem arz etmektedir.

Statuslar aldıkları değerlere göre sınıflara ayrılır;

1xx — Bilgi amaçlı döndürülür.

2xx — Başarılı sonuçlar döndüğü zaman döndürülür.

3xx — Yönlendirme içeren zamanlarda döndürülür.

4xx — Hatalı sonuçlar döndüğü zaman döndürülen durumdur.

5xx — Sunucu sağlayıcısı tarafında bir sorun olduğu zaman döndürülür.

Durum kodunun yanında ise isteğe ait değerler yer almakta. Tekrardan isteğimizi attığımız url’e bakalım.

Url’imizin içerisinde “?” ile girilmiş bir parametre girilmiş. Parametrelerimizi adres çubuğu altındaki params sekmesinden görebilir ve isteğinize göre değiştirebilirsiniz.

POST isteği nasıl yapılır ?

Şimdi ise bir POST isteği yapalım. Bunun için öncelikle dokümantasyondan urlimizi alalım ve adres çubuğumuza girelim. GET metodumuzu POST metodu olarak değiştirelim.

POST istekleri verilerimizi sunucuya gönderme işlemi olduğundan verilerimizi göndermemiz gerekiyor. Bunu da adres çubuğumuzun altındaki Body sekmesinden yapabiliriz. Göndereceğimiz verinin tipi JSON. Bu yüzden TEXT olarak seçili olan veri tipimi JSON olarak değiştirip göndermek istediğimiz verimizi girelim ve isteğimizi gönderelim.

Diğer metotlarla istek atmak ise bunlarla çok benzer o yüzden o kısımların kullanımını size bırakıyorum.

Postman’da Değişkenler

Şimdi ise Postman’daki değişkenler konusuna bir göz atalım. Sürekli olarak kullandığımız urlimiz olabilir başka birşey olabilir onları değişkenlere atayıp tek bir yerden yönetebilmemizi sağlıyor.

Değişkenlerimizi ise postmanin en solundaki “environments” sekmesi altından yapıyoruz. Girdiğimizde koleksiyonlarda yaptığımız işleme benzer bir işlem yaparak yeni bir değişkenler grubu oluşturuyoruz.

Değişkenimizi oluşturduktan sonra kaydetmeyi unutmayınız.

Sonrasında artık değişkenimizi kullanmaya geçelim. Koleksiyonumuza geliyoruz ve iki tane süslü parantez içerisine oluşturduğumuz ve kullanmak istediğimiz değişkenimizi giriyoruz.

Bu işlemleri yaptıktan sonra sağ üstte yer alan kullanıcı fotoğrafınızın altında sağda yer alan çevre değişkenlerinizi seçebileceğiniz bir yer göreceksiniz. Buradan çevre değişkenlerinizi seçmeyi unutmayınız. Aksi halde çalışmayacaktır.

Değişkenleri bu şekilde girebileceğimiz gibi test sekmesi altından script olarak da değişkenlerimizi girebiliriz.

Aşağıda ise scriptte kullanabileceğiniz değişkenleri set ve get edebileceğiniz komutlar yer almakta. İlgilenirseniz inceleyebilirsiniz.

Postman’da Test

Bir diğer konumuz Postman’da test konusu. Postman’da isteklerinizi atmanın yanı sıra isteklerinizdeki bazı değerlerin istediğiniz gibi gidip gitmediğini tek tek test etmek yerine otomatik olarak test edebileceğiniz bir yapı da bulunmaktadır.

Test sekmesine girdikten sonra sağ tarafta yer alan mavi yazılara tıklayarak postman’in bizlere sunduğu birkaç script’i görebilirsiniz. Buradaki scriptleri kendinize göre özelleştirerek isteklerinizin testlerinizi otomatize edebilirsiniz.

Postman’da Yetkilendirme (Authorization)

Son olarak ise değinmek istediğim konu yetkilendirme. Bazı API’lardan bilgi alabilmek için gerekli izne sahip olmanız gerekmektedir. Yetkilendirme ile korunan bir API’a eğer hiçbir bilgi olmadan bir istek oluşturursanız 401 Unathorized (Yetkisiz) hatası alacaksınızdır.

Adres çubuğunun altındaki “Authorization” sekmesi altından API’ınızın sahip olduğu şifreleme algoritmasına göre gerekli bilgileri doldurarak isteğinizi yaptığınızda isteğiniz olumlu sonuçlanacaktır.

Bu yazımda Postman hakkında hiçbir bilgisi olmayan birisinin bile faydalanabileceği bir yazı oluşturmaya çalıştım. Umarım sizlere faydalı olur. Okuduğunuz için teşekkür ederim. bir sonraki yazılarımda görüşmek için takip etmeyi unutmayınız, sağlıcakla kalınız…

--

--