Flask ile REST API Nedir?
REST (Representational State Transfer), veri ile iletişim kurmak için yaygın olarak kullanılan bir mimaridir. API ise (Application Programming Interface) farklı yazılımlar arasında veri alışverişini sağlayan bir arayüzdür. Yani, bir REST API, verilerin belirli kurallara göre sunucuya gönderilmesini ve alınmasını sağlayan bir yapı sunar. Flask, bu API'leri hızlıca geliştirmek için mükemmel bir araçtır. Şimdi, bu süreci daha yakından inceleyelim.
Flask'i Kurma ve Temel Yapıyı Hazırlama
İlk adım olarak Flask'i bilgisayarımıza kurmamız gerekiyor. Terminal veya komut satırında şu komutu çalıştırarak Flask'i kolayca yükleyebilirsiniz:
kopyalapip install Flask
Kurulum tamamlandığında, bir Python dosyası oluşturun ve Flask'i içeri aktarın. İşte basit bir başlangıç kodu:
kopyalafrom flask import Flask, jsonify app = Flask(__name__) @app.route('/api', methods=['GET']) def api(): return jsonify({"message": "Merhaba, Flask API!"}) if __name__ == '__main__': app.run(debug=True)
Bu küçük kod parçası, `/api` adresine gelen GET isteklerine cevap veren bir API oluşturur. `jsonify` fonksiyonu ile, cevap olarak dönen veri JSON formatında olacak şekilde ayarlanmıştır.
API'ye Parametreler ve Veri Göndermek
Artık basit bir API'ye sahibiz, ancak çoğu zaman API'lerimiz belirli parametrelerle çalışacak. Flask, URL parametreleri, form verileri ve JSON gövdesi gibi çeşitli veri gönderme yöntemlerini destekler. Örneğin, kullanıcılara isimlerini sorarak kişiselleştirilmiş bir cevap döndüren bir endpoint yazabiliriz:
kopyala@app.route('/greet/', methods=['GET']) def greet(name): return jsonify({"message": f"Merhaba, {name}!"})
Bu API, `/greet/Ahmet` gibi bir URL ile "Merhaba, Ahmet!" mesajını döndürecektir.
POST İstekleri ile Veri Almak
GET istekleri veri almak için mükemmeldir, ancak API'nizin dışarıya veri gönderebilmesi gerektiğinde POST istekleri devreye girer. Bir örnek üzerinden POST isteği ile nasıl veri alabileceğimizi gösterelim:
kopyalafrom flask import request @app.route('/add', methods=['POST']) def add(): data = request.get_json() a = data.get('a') b = data.get('b') return jsonify({"result": a + b})
Bu örnekte, `/add` endpoint'ine bir JSON veri gönderiyoruz. Örneğin:
kopyala{ "a": 5, "b": 10 }
Ve API, a ve b değerlerinin toplamını döndürecektir. Yani, JSON formatında veri alıp, işleyip sonucu döndürebilirsiniz.
API'yi Test Etmek ve Hata Yönetimi
API'nizi test etmek için Postman gibi araçlar kullanabilirsiniz. Bu araç, API'nize çeşitli istekler gönderip, cevabını detaylı bir şekilde incelemenizi sağlar. Ayrıca Flask, hataları düzgün bir şekilde yönetmek için de çeşitli yöntemler sunar. Örneğin, geçersiz parametreler alındığında kullanıcıya anlamlı bir hata mesajı döndürebilirsiniz:
kopyala@app.errorhandler(404) def page_not_found(error): return jsonify({"error": "Sayfa bulunamadı!"}), 404
Bu sayede, API kullanıcıları yanlış bir istekte bulunduklarında anlamlı bir hata mesajı alacaklardır.
Sonuç: Flask ile Güçlü ve Esnek Bir API
Flask ile REST API yapmak gerçekten çok kolay ve hızlıdır. Yüksek performanslı API'ler oluşturmak için güçlü bir altyapı sağlar. Flask'in esnek yapısı sayesinde, basit bir API'den çok daha karmaşık bir yapıya doğru kolayca ilerleyebilirsiniz. Bugün öğrendiğiniz temel bilgileri kullanarak, birkaç saat içinde kendi projelerinizi başlatabilirsiniz.
Unutmayın, Flask sadece bir başlangıçtır. API'nizi daha güçlü hale getirmek için veritabanları, kimlik doğrulama sistemleri ve daha pek çok özellik ekleyebilirsiniz. Flask'in sunduğu bu esneklik, size hayal gücünüz kadar geniş olanaklar sağlar. Şimdi, bir Flask API'si geliştirmenin temellerini öğrenmiş oldunuz!