Flask Nedir ve Neden REST API Yapmalıyız?
Flask ile REST API Yapmaya Başlamak
```bash
pip install Flask
```
İlk adımda Flask’ı yüklediğinize göre, şimdi bir Flask uygulaması oluşturmak için gereken temel yapıyı kuracağız. Şimdi, Flask API’nin temel iskeletini oluşturacağız.
Basit Bir Flask API Uygulaması
kopyalafrom flask import Flask, jsonify app = Flask(__name__) @app.route('/api', methods=['GET']) def get_data(): data = {"message": "Merhaba, Flask API'ye Hoş Geldiniz!"} return jsonify(data) if __name__ == '__main__': app.run(debug=True)
Kodu Açıklayalım:
- `app = Flask(__name__)`: Flask uygulamamızı başlatıyoruz.
- `@app.route('/api', methods=['GET'])`: Bu, `/api` yoluna gelen GET isteklerini dinleyen bir route’dur.
- `def get_data()`: Bu fonksiyon, `/api` yoluna bir GET isteği geldiğinde çalışacak ve JSON formatında bir yanıt dönecek.
- `app.run(debug=True)`: Flask uygulamamızı başlatıyoruz. `debug=True` özelliği sayesinde, hata alırsak uygulama bizi uyaracaktır.
Bu basit Flask uygulamasını çalıştırarak, tarayıcınızda `http://127.0.0.1:5000/api` adresine gittiğinizde aşağıdaki JSON cevabını görmelisiniz:
```json
{
"message": "Merhaba, Flask API'ye Hoş Geldiniz!"
}
```
Harika! Artık basit bir REST API’niz var. Şimdi, bu API’yi daha gelişmiş bir hale getirebiliriz.
Veritabanı ile Çalışmak
kopyalafrom flask import Flask, jsonify from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' db = SQLAlchemy(app) class Item(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), nullable=False) @app.route('/items', methods=['GET']) def get_items(): items = Item.query.all() return jsonify([{'id': item.id, 'name': item.name} for item in items]) if __name__ == '__main__': db.create_all() app.run(debug=True)
Bu örnekte, `Item` sınıfı bir veritabanı tablosunu temsil eder. `/items` yoluna yapılan GET isteği, veritabanındaki tüm öğeleri JSON formatında döner.
Flask API’nize Güvenlik Eklemek
Sonuç
Umarım bu yazı, Flask ile REST API geliştirme konusunda size yardımcı olmuştur. Kendi projelerinizi geliştirirken bu bilgileri kullanarak güçlü API’ler oluşturabilirsiniz. Flask ile API geliştirme yolculuğunuzda başarılar!