Flask REST API Nasıl Yapılır? Adım Adım Kılavuz

Flask REST API Nasıl Yapılır? Adım Adım Kılavuz

Flask ile REST API yapımını adım adım anlattım. Python’un bu hafif framework’üyle API oluşturmayı öğrenin ve projelerinizi hızla geliştirin!

BFS

Merhaba sevgili okuyucular! Bugün, Python’un en popüler web framework'lerinden biri olan Flask ile bir REST API nasıl yapılır, bunu öğreneceğiz. Eğer siz de Python ile web geliştirmeye ilgi duyuyorsanız ve hızlıca API oluşturmak istiyorsanız, Flask tam size göre! Hadi başlayalım!

Flask Nedir?



Flask, Python programlama dili ile web uygulamaları geliştirmek için kullanılan hafif bir web framework'üdür. Kullanımı oldukça basit ve esnektir, bu yüzden geliştiriciler arasında oldukça popülerdir. Flask, Django gibi büyük framework'lerin aksine, daha minimal ve küçük yapıda olduğu için hızlıca projeler geliştirebilirsiniz.

Bugün size Flask ile bir REST API yapmayı göstereceğim. Bir REST API, bir web servisi ile veri alışverişi yapmanızı sağlar. Örneğin, veritabanındaki verileri almak, eklemek, güncellemek veya silmek için bir API kullanabilirsiniz.

Adım 1: Flask'ı Kurmak



Flask ile bir API yapabilmek için öncelikle Flask’ı kurmamız gerekiyor. Flask'ı kurmak için terminal veya komut istemcisini açarak aşağıdaki komutu yazabilirsiniz:

pip install Flask


Bu komut, Flask'ı Python ortamınıza yükleyecektir. Yükleme işlemi tamamlandıktan sonra, Flask ile API geliştirmeye başlayabiliriz.

Adım 2: İlk Flask Uygulamanızı Yazın



Şimdi, ilk basit Flask uygulamamızı yazmaya başlayalım. Bu uygulama bir “Hello World” API'si olacak.

İlk olarak, bir Python dosyası oluşturun (örneğin: `app.py`). Ardından aşağıdaki kodu yazın:


from flask import Flask

app = Flask(__name__)

@app.route('/hello', methods=['GET'])
def hello_world():
    return 'Hello, World!'

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


Bu basit kod, Flask'ı kullanarak bir web sunucusu başlatacak ve `/hello` adresine yapılan GET isteklerine “Hello, World!” yanıtını verecek.

Adım 3: REST API için Endpoints Ekleyin



Artık “Hello, World!” mesajını alabiliyoruz. Şimdi daha faydalı hale getirelim! REST API’mize birkaç endpoint ekleyelim.

Örneğin, bir kullanıcı eklemek için bir POST isteği gönderebiliriz. Kullanıcı bilgilerini JSON formatında alacağız ve kullanıcıyı veritabanına kaydedeceğiz.

Aşağıdaki gibi bir endpoint ekleyebiliriz:


from flask import Flask, request, jsonify

app = Flask(__name__)

# Kullanıcı bilgilerini tutacak bir liste
users = []

@app.route('/users', methods=['POST'])
def add_user():
    user_data = request.get_json()
    
    if 'name' not in user_data or 'age' not in user_data:
        return jsonify({'error': 'Invalid data! Name and age are required.'}), 400

    users.append(user_data)
    return jsonify({'message': 'User added successfully!'}), 201

@app.route('/users', methods=['GET'])
def get_users():
    return jsonify(users)

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


Bu kodda iki endpoint bulunuyor:
1. `/users` ile POST isteği yaparak yeni bir kullanıcı ekleyebilirsiniz.
2. `/users` ile GET isteği yaparak tüm kullanıcıları listeleyebilirsiniz.

Adım 4: Veritabanı Entegrasyonu



Bu noktada, verileri bellekte tutuyoruz. Ancak, gerçek bir uygulamada veritabanı kullanmak daha uygun olacaktır. Flask ile SQLite veya başka bir veritabanı kullanmak oldukça kolaydır.

Bir SQLite veritabanı ile örnek yapalım:


import sqlite3

def init_db():
    conn = sqlite3.connect('users.db')
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
    conn.commit()
    conn.close()

def add_user_to_db(name, age):
    conn = sqlite3.connect('users.db')
    c = conn.cursor()
    c.execute('INSERT INTO users (name, age) VALUES (?, ?)', (name, age))
    conn.commit()
    conn.close()

@app.route('/users', methods=['POST'])
def add_user():
    user_data = request.get_json()
    
    if 'name' not in user_data or 'age' not in user_data:
        return jsonify({'error': 'Invalid data! Name and age are required.'}), 400

    add_user_to_db(user_data['name'], user_data['age'])
    return jsonify({'message': 'User added successfully!'}), 201


Bu şekilde kullanıcıları veritabanına kaydedebiliriz.

Adım 5: API'yi Test Etmek



Son olarak, API’mizi test edelim. Bunun için Postman gibi araçlar kullanabilirsiniz. API'nizin çalışıp çalışmadığını kontrol etmek için aşağıdaki adımları takip edebilirsiniz:

1. GET isteği ile `/users` endpoint'ine gidin ve kullanıcı listesini görün.
2. POST isteği ile `/users` endpoint'ine kullanıcı ekleyin.

Eğer her şey doğru çalışıyorsa, başarıyla bir REST API oluşturmuş oldunuz!

Sonuç



Flask ile bir REST API yapmak gerçekten çok eğlenceli ve kolay. Hem küçük hem de güçlü projeler için Flask’ı kullanabilirsiniz. Kendi projelerinizde bu temel adımları geliştirebilir ve daha fazla özellik ekleyebilirsiniz. Flask, hızlı geliştirme için mükemmel bir araçtır.

Umarım bu yazı, Flask REST API yapımına dair gerekli tüm bilgileri öğrenmenizi sağlamıştır. Şimdi sıradaki projeye başlayabilirsiniz!

İlgili Yazılar

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

ApiUp Nedir?

Merhabalar, bir süredir üzerinde çalıştığım yeni projemi hayata geçirdim. Bu Proje sayesinde, IRC sunucuları en popüler uygulamalarla entegre edilebiliyor. Şu anda Skype, WhatsApp ve Telegram uygulamalarını destekliyoruz. API Sayesinde, IRC Sunucularından...

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...