Api Yaşam Döngüsü Nedir Ve Http Metotları Nelerdir?

Postman Nedir?

Postman, yazılımcıların ya da yazılım test mühendislerinin API(Application Programming Interface/ Uygulama Programlama Arayüzü)’leri tasarlamasına, oluşturmasına ve test etmesine olanak sağlayan bir uygulamadır. Basit kullanıcı arayüzü sayesinde sayesinde API yaşam döngüsünün her aşamasını yönetmeyi kolaylaştırır. Kullanıcı arayüzünün basit olması sayesinde daha iyi API’ler daha hızlı bir şekilde oluşturulabilir.

Postman sayesinde hem kendi yaptığımız hem de başkaları tarafından yapılan API’leri test edebiliriz. Bu uygulama sayesinde basit veya karmaşık http metotları oluşturabilir, kaydedebilir ve gelen yanıtları inceleyebiliriz. Postman uygulamasına erişmek için buradaki linke gidebiliriz.

API Yaşam Döngüsü  

API Yaşam Döngüsü

API, birçok yazılım bileşen ve sistemlerinin bir arada çalışmasına, birbirleri arasında iletişim ve etkileşim sağlamasına olanak sağlayan bir yazılımdır. API’leri günlük hayatımızda internette gezerken pek çok yerde kullanmamız mümkündür. Örneğin Google takvim, Google hava durumu ya da herhangi bir sitede Facebook ve Google gibi hesaplarla oturum açma işlemi.

API’lerde birer yazılım olduklarından yaşam döngülerine sahiptirler. API yaşam döngüsü 5 aşamadan oluşur. Bunlar planlama, geliştirme, test, dağıtım ve kullanımdan kaldırmadır.

Planlama

Diğer tüm yazılım geliştirme aşamalarından olduğu gibi API geliştirme süreci de planlama aşaması ile başlar. Bu aşamada geliştirme ekibi API’nin hangi hizmetleri gerçekleştirmesini ve yeteneklerinin neler olması gerektiğini belirler. Geliştirme için iş ihtiyaçları kararlaştırıldıktan sonra işlevsel ve işlevsel olmayan gereksinimler belirlenir.

Geliştirme

Planlama aşamasında gereksinimleri belirlenen API, bu aşamada gereksinimlere bağlı kalınarak geliştirilir. API’ler PHP, Java, C# ve Python gibi programlama dilleri kullanılarak yazılabilir.

API’ler tek bir kişi tarafından geliştirilebileceği gibi ekip olarak da geliştirilebilir. Ekip ile birlikte geliştirme yapmak kodlama ve test aşaması gibi birçok noktada işleri kolaylaştırmayı sağlar. Ekip olarak API geliştirildiğinde ekip içerisindeki paydaşlar API kodu, dökümantasyon ve test dosyaları gibi kaynaklara sıkıntısız erişebiliyor olmalıdır.

Test

Yazılımcılar ve yazılım test uzmanları geliştirilen API’nin işlevsel ve performans sorunlarını içermediğini kapsamlı testler gerçekleştirerek kontrol etmeleri gerekir. Yazılım test uzmanları geliştirilen API’nin testi sırasında karşılaştıkları hataların çözülmesi için yazılım geliştiricileri ile iletişime geçmeli ve çözülen hata için doğrulama amaçlı tekrar test etmeleri gerekmektedir.

Test aşamasında koşulan işlevsel testler, geliştirilen yazılımdaki her bir özelliğin veya fonksiyonun planlama aşamasında belirlendiği gibi çalışıp çalışmadığını kontrol eder. Performans testleri ise API’nin yük altında, düzensiz trafik ve öngörülemeyen yüklenme koşullarında nasıl performans gösterdiğini değerlendirmek için koşulur. Bu testlerin ardından kabul testleri ile uygulamanın uçtan uca gerçekleştirebildiği fonksiyonlara odaklanıp, API’nin beklenen amaca ulaşıp ulaşmadığı kontrol edilir. Böylece API’nin son kalitesine dair güven oluşturulmuş olur.

Dağıtım

API’ler beklenen amaca uygun ve güvenli olduğunda dağıtıma hazırdır. Tamamlanmış API’lerin kullanıcıların keşfetmesi ve kullanması için güvenli bir ortama dağıtımı gerçekleştirilir. Yüksek kaliteli API’ler için dağıtımdan sonra API’ler izlenmelidir.

Kullanımdan Kaldırma

Yazılım geliştiriciler, yazılımların kalitelerini ve iş değerlerini artırmak için zaman içinde yazılımı genişletebilir veya güncelleyebilirler. Ancak zaman geçtikçe yazılım ekipleri eski API’leri ya da API sürümlerini kullanımdan kaldırırlar. Bu durum API yaşam döngüsündeki doğal bir aşamadır. Böylece yazılım ekiplerini destekleyen kaynakları boşa harcamamış olurlar.

API’lerin eski sürümlerinden yeni sürümlerine geçiş yapılırken bu geçiş yolunun özenle planlanması gerekir. API’nin günlük kullanımları önemli ölçüde etkilemeden durdurmak için yazılım geliştirme ekiplerinin kullanım ömrü planı hazırlaması gereklidir.

Buraya kadar Postman’den ve Postmanin her aşamasını kolaylaştırdığı API yaşam döngüsünden bahsettik. Postman’den bahsederken basit veya karmaşık http metotları oluşturabileceğimizden bahsetmiştim. Şimdi ise HTTP metotlarından bahsedelim.

HTTP METOTLARI

HTTP, bir veri transfer metodudur. Sunucuya gönderilen tüm HTTP metotlarına karşılık sunucu tarafından belirli kodlar ile cevap dönülür. Bu cevaba “HTTP Response” denir. Bu HTTP metotları sayesinde uygulamanın arayüzü ve önyüzü etkileşim kurup veri transferi gerçekleştirebilir.

Başlıca HTTP metotları GET, POST, PUT, PATCH ve DELETE’dir.

GET Metodu

GET metodu, sunucuda var olan bir bilgiyi okumak için kullanılan bir metottur. SQL’deki “Select” komutuna benzetebiliriz. Bu metot ile herhangi bir değişiklik gerçekleştiremeyiz.

POST Metodu

POST metodu, sunucuda bir şey oluşturmak için kullanılan metottur. Bu metot SQL’deki “Create” komutuna benzetebiliriz. Örneğin bu metot ile sunucuya müşteri bilgilerini gönderip bir müşteri oluşturabiliriz.

PUT Metodu

PUT metodu ile sunucuda var olan bir bilgiyi, bu metot ile gönderilen bilgi ile değiştirebilir veya güncelleyebiliriz. Eğer bilgi sunucuda yok ise bu metot ile oluşturulur.

DELETE Metodu

DELETE metodu ile sunucu üzerinde var olan bir bilginin silme işlemini gerçekleştirebiliriz. Örneğin sunucuda var olan müşteriyi DELETE metodu ile silebiliriz.

PATCH Metodu

PATCH metodu ile sunucu üzerinde var olan verinin kısmi bilgilerini güncellemek için kullanılır. Örneğin sunucuda var olan müşterinin e-posta adresini güncellemek istersek PATCH metodunu kullanabiliriz.

Bu metotların dışında kullanılan HTTP metotları mevcuttur. Ancak onlara bu yazımızda değinmeyeceğiz. Bu metotlar ile sunucuya bir istek gönderildiğinde sunucu tarafından bize bir cevap dönülür. Şimdi ise sunucudan gelebilecek cevaplara göz atalım.

Cevap Kodları

Uygulama arayüzünü test ederken kullandığımız bu HTTP metotlarına sunucu tarafından dönülen cevaplar ile gönderdiğimiz isteklerin sonuçlarını inceleyebilir ve test senaryolarımızı ilerletebiliriz. Gönderdiğimiz her bir isteğe karşılık sunucu bize aşağıdaki tabloda yer alan cevap kodlarına benzer cevaplar döner. Her bir cevap kodunun bir anlamı vardır.

KodTürüAnlamı
1XXBilgiİsteğin sunucu tarafından alındığını ve sürecin devam ettiğini belirtir.
2XXBaşarılıİstek başarıyla alındı ve kabul edildi.
3XXYönlendirmeİsteğin tamamlanabilmesi için daha fazla işlem yapılması gerektiğini belirtir.
4XXİstemci Hatasıİstek hatalı söz dizimi içerdiğinden yerine getirilemiyor.
5XXSunucu HatasıSunucu geçerli olan isteği yerine getiremiyor.

Tabloda verilen her bir kod grubunun içerisindeki hata kodlarının kendine özgü bir açıklaması mevcuttur. Bu yazıda genel olarak hata kod gruplarının ne ifade ettiğinden bahsetmek için yukarıdaki gibi bir tablo oluşturduk.

Bir sonraki yazımızda Postman’den bahsetmeye devam edeceğiz. Buraya tıklayarak sonraki yazımıza gidebilirsiniz.

PSTMN59GQL76605085