Flask ile REST API Nasıl Yapılır? Kolay ve Adım Adım Rehber

Bu blog yazısı, Flask kullanarak basit bir REST API nasıl yapılır sorusunun cevabını adım adım anlatan, uygulamalı bir rehberdir. Geliştiricilere Flask ile API yapmanın temellerini öğretir ve onlara gerekli olan tüm araçları sağlar.

BFS

Hadi gel, birlikte Python'un sevilen framework'lerinden biri olan Flask ile RESTful API nasıl yapılır, adım adım keşfedelim. Flask, hafifliği ve esnekliği ile bilinir, özellikle küçük ve orta ölçekli projelerde harika bir tercihtir. Bu yazımda, hem temel bilgileri hem de uygulamalı adımları keşfedeceğiz.

Flask Nedir?
Flask, Python dilinde yazılmış bir mikro web framework'üdür. Hafifliği sayesinde hızlı bir şekilde uygulama geliştirebilirsiniz. RESTful API'ler, istemcilerle veri alışverişi yapmak için sıklıkla kullanılır ve Flask, bunu yaparken ihtiyacınız olan tüm araçları sağlar. Eğer bu terimlere yabancıysanız, telaşlanmayın! Adım adım her şeyi anlatacağım.

1. Flask'ı Kurmak


Flask ile bir REST API geliştirmeye başlamadan önce, bilgisayarınıza Flask’ı kurmanız gerekiyor. Python yüklü olduğuna emin olduktan sonra, terminal veya komut satırına şu komutu girin:


pip install flask


Bu komut, Flask’ı kuracaktır. İşte bu kadar! Flask, sadece birkaç satırda kurulum tamamlanmış olacak. Şimdi rahatça kullanabileceğiz.

2. Flask ile Basit Bir API Oluşturmak


Flask ile ilk adımda çok basit bir API kuracağız. API'nizin temelini oluşturacak olan bu yapı, HTTP isteklerine cevap verecek ve veri döndürecektir. İşte başlıyoruz:


from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/greeting', methods=['GET'])
def greet():
    return jsonify({"message": "Merhaba, Flask API!"})

if __name__ == "__main__":
    app.run(debug=True)


Yukarıdaki kodda neler oluyor?
- Flask'ı içeri aktarıyoruz.
- `Flask` nesnesini yaratıyoruz, bu bizim API'mizin temelini oluşturuyor.
- `@app.route` dekoratörü, bir URL'ye (bu örnekte `/api/greeting`) gelen HTTP GET isteklerine karşılık gelir.
- `greet` fonksiyonu, bu isteğe bir JSON cevabı döndürür.
- `jsonify`, Python sözlüklerini JSON formatına dönüştürmemize yarar.

3. API’yi Çalıştırmak


Yukarıdaki kodu bir dosyaya (örneğin `app.py`) kaydettikten sonra terminalden şu komutu girerek çalıştırabilirsiniz:


python app.py


Flask uygulamanız localhost üzerinden çalışacaktır ve tarayıcınızda `http://127.0.0.1:5000/api/greeting` adresini ziyaret ettiğinizde şu cevabı alırsınız:

```json
{"message": "Merhaba, Flask API!"}
```

4. Veri Gönderme ve Alma: POST, PUT, DELETE Yöntemleri


Artık Flask ile temel bir API oluşturduk. Peki, nasıl veri gönderebiliriz? İşte POST, PUT ve DELETE gibi HTTP metodlarını nasıl kullanacağımıza bakalım.

POST Yöntemi ile Veri Gönderme
Bir POST isteği, sunucuya yeni bir kaynak eklemek için kullanılır. Flask'ta bunu şöyle yapıyoruz:


from flask import request

@app.route('/api/user', methods=['POST'])
def create_user():
    user_data = request.get_json()  # JSON verisini alıyoruz
    return jsonify({"message": "Kullanıcı oluşturuldu!", "user": user_data}), 201


Bu fonksiyon, gelen veriyi JSON formatında alır ve kullanıcıya "Kullanıcı oluşturuldu!" mesajını döndürür. Bu örnekte POST isteği ile kullanıcı bilgilerini gönderdiğimizi varsayıyoruz.

PUT Yöntemi ile Veriyi Güncelleme
Bir PUT isteği, var olan veriyi günceller. Örnek olarak, kullanıcı bilgilerini güncellemek için şu kodu kullanabilirsiniz:


@app.route('/api/user/', methods=['PUT'])
def update_user(user_id):
    user_data = request.get_json()
    return jsonify({"message": f"Kullanıcı {user_id} güncellendi!", "user": user_data}), 200


Bu örnekte, URL parametresi olarak `user_id` alıyoruz ve bu kullanıcıyı güncelliyoruz.

DELETE Yöntemi ile Veri Silme
Bir DELETE isteği, belirli bir kaynağı silmek için kullanılır. Aşağıdaki gibi bir kodla kullanıcıyı silebiliriz:


@app.route('/api/user/', methods=['DELETE'])
def delete_user(user_id):
    return jsonify({"message": f"Kullanıcı {user_id} silindi!"}), 200


5. API'yi Test Etmek


API'nizi test etmek için Postman gibi araçları kullanabilirsiniz. Postman, HTTP istekleri gönderip cevapları incelemenizi sağlar. İsterseniz terminalde `curl` komutlarını da kullanabilirsiniz.

6. Sonuç


Flask ile basit bir REST API yapma sürecini adım adım inceledik. Şimdi temel GET, POST, PUT ve DELETE işlemlerini gerçekleştirebilen bir API'niz var. Flask, hızlıca prototip geliştirmek ve küçük projeler yapmak için harika bir seçim. Ancak, üretim ortamına geçmeden önce güvenlik, hata yönetimi ve performans optimizasyonlarına dikkat etmelisiniz.

Flask ile API yaparken işinize yarayacak bazı ipuçları:
- Veritabanı bağlantıları eklemeyi unutmayın! SQLAlchemy gibi bir ORM kullanabilirsiniz.
- API'nizi daha güvenli hale getirmek için JWT ile kimlik doğrulama ekleyebilirsiniz.
- Flask, genişletilebilir bir yapıya sahip olduğundan, ilerleyen zamanlarda yeni özellikler eklemek kolay olacaktır.

İlgili Yazılar

Benzer konularda diğer yazılarımız

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...

OAuth2 Authentication Error: Nedenleri ve Çözümleri

OAuth2 Authentication Error: Gerçekten Neyin Peşindeyiz?Her geliştirici, kimlik doğrulama hatalarıyla bir noktada karşılaşmıştır. Ama bazen işler kontrolden çıkabiliyor. Eğer bir gün OAuth2 ile çalışırken bir kimlik doğrulama hatası aldığınızda, yalnız...