Flask Nedir ve Neden Flask Seçmeliyim?
Bir web uygulaması geliştirmeyi mi düşünüyorsunuz? Python dilinde basit ama etkili bir API oluşturmak istiyorsanız, Flask tam size göre! Flask, hafif ve esnek yapısıyla oldukça popüler bir Python web framework'üdür. Flask’ın bu kadar tercih edilmesinin nedeni, geliştiricilerin ihtiyaç duyduğu özelliklere hızlıca ulaşabilmesidir. Üstelik başlamak da oldukça kolaydır.
Flask API'yi Başlatmaya Hazır Mısınız?
Haydi başlayalım! İlk adım, Flask’ı bilgisayarımıza kurmaktır. Terminal veya komut satırına şu komutu yazabilirsiniz:
pip install flask
Bu komut, Flask'ı sisteminize kuracaktır. Şimdi, Python dosyanızı oluşturup Flask’ı projenize dahil etmeye hazırsınız!
İlk Flask API Uygulamanızı Oluşturun
Flask ile bir API oluşturmak oldukça basittir. Basit bir 'Merhaba Dünya' API'si yapmak, bu sürecin temelini atmamıza yardımcı olacak. Şimdi aşağıdaki kodu yazalım:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Merhaba Dünya!'
if __name__ == '__main__':
app.run(debug=True)
Bu kod, Flask’ı kullanarak bir web sunucusu başlatacak ve `/` (ana sayfa) yolunda "Merhaba Dünya!" mesajını döndürecektir. Basit ama etkili!
API'yi Çalıştırın
Yukarıdaki kodu kaydettikten sonra terminal veya komut satırında bu dosyayı çalıştırabilirsiniz. Eğer her şey doğru yapılmışsa, terminalde şöyle bir şey görmelisiniz:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Artık tarayıcınıza `http://127.0.0.1:5000/` yazarak "Merhaba Dünya!" mesajınızı görebilirsiniz.
Flask API’ye Parametreler Ekleyin
Daha dinamik bir API yapmak için URL parametreleri eklemek çok kullanışlıdır. Mesela, bir kullanıcı adını URL üzerinden alıp, ona özel bir mesaj gönderebiliriz. İşte kod:
@app.route('/hello/')
def hello_user(username):
return f'Merhaba {username}!'
Bu kod, URL üzerinden gelen parametreyi alıp, "Merhaba [Kullanıcı Adı]!" şeklinde bir cevap döndürür.
Flask API'yi JSON Cevaplarla Zenginleştirin
Şimdi ise API’mizi daha profesyonel bir hale getirelim. Flask ile JSON döndürebiliriz. API'niz genellikle veri sağlayan bir yapı olacağı için JSON formatı çok yaygın kullanılır. İşte JSON cevabı döndüren örnek:
from flask import jsonify
@app.route('/api/data')
def get_data():
data = {
'name': 'Flask API',
'version': '1.0',
'status': 'Çalışıyor'
}
return jsonify(data)
Bu kod, `/api/data` yolunda JSON formatında veri döndürür. Örneğin, tarayıcınıza `http://127.0.0.1:5000/api/data` yazarak şu şekilde bir çıktı alırsınız:
{
"name": "Flask API",
"version": "1.0",
"status": "Çalışıyor"
}
Hata Yönetimi ve Yanıtlar
Bir API geliştirirken hatalarla başa çıkabilmek önemlidir. Flask'ta hataları yönetmek oldukça kolaydır. Hatalı bir istek yapıldığında, kullanıcıya anlamlı bir hata mesajı döndürebiliriz. İşte bir örnek:
@app.route('/api/user/')
def get_user(user_id):
users = {1: 'Ahmet', 2: 'Mehmet'}
if user_id in users:
return jsonify({'user': users[user_id]})
else:
return jsonify({'error': 'Kullanıcı bulunamadı'}), 404
Bu kod, kullanıcı ID’sine göre veri döndürür. Eğer kullanıcı ID’si bulunamazsa, 404 hata kodu ile "Kullanıcı bulunamadı" mesajı döndürülür.
Flask API'yi Güvenli Hale Getirin
API geliştirmede güvenlik önemli bir faktördür. Flask'ta API’nizi güvenli hale getirmek için basit bir kimlik doğrulama yöntemi ekleyebilirsiniz. Birçok yöntem olsa da, en basitlerinden biri Basic Authentication’dır. Aşağıdaki örnek, kullanıcı adı ve şifre ile bir doğrulama işlemi yapar:
from flask import request, Response
@app.route('/api/protected')
def protected():
auth = request.authorization
if auth and auth.username == 'admin' and auth.password == 'password':
return jsonify({'message': 'Erişim sağlandı'})
return Response(
'Erişim reddedildi', 401,
{'WWW-Authenticate': 'Basic realm="Login required"'}
)
Bu kod, kullanıcı adı "admin" ve şifre "password" ile doğrulama yapar. Başka bir kullanıcı bu bilgilere sahip değilse, API’ye erişim sağlayamaz.
Sonuç: Flask ile API Geliştirmek Çok Kolay!
Flask ile bir API geliştirmek gerçekten eğlenceli ve öğretici bir süreçtir. Basit bir yapı ile başlayarak, zamanla daha karmaşık API’ler oluşturabilirsiniz. Flask'ın hafif yapısı, özelleştirilebilirliği ve geniş destek topluluğu sayesinde, web uygulamanızda API geliştirmek çok kolay hale gelir.
Şimdi, kendi Flask API’nizi yaratmak için gerekli adımları öğrendiniz. Kendi projelerinizde kullanmak için daha fazla özellik ekleyebilir, güvenlik önlemleri alabilir ve uygulamanızı kullanıcılarınız için daha erişilebilir hale getirebilirsiniz. Flask’ı keşfetmek, Python ile web geliştirme dünyasına açılmanın harika bir yolu!