Flask API Nasıl Geliştirilir? Adım Adım Rehber

Flask API Nasıl Geliştirilir? Adım Adım Rehber

Bu blog yazısı, Flask ile API geliştirme sürecini adım adım anlatan bir rehber sunuyor. Flask kurulumu, temel API geliştirme, RESTful rotalar, veritabanı entegrasyonu ve yayına alma aşamalarını ele alıyor.

BFS

Giriş: Flask API Nedir?



Bir web geliştiricisi olarak, çoğu zaman veritabanı ve frontend arasındaki iletişimi sağlamanızı gerektiren projelerle karşılaşırsınız. İşte burada, Flask API devreye giriyor. Flask, Python'un minimalist web framework'lerinden biridir ve son derece esnektir. Flask ile geliştirilen bir API, verilerinizi frontend ile paylaşmanın en hızlı ve verimli yoludur. Peki, Flask ile API geliştirmeye nasıl başlanır? Haydi, adım adım keşfedelim.

Adım 1: Flask'ı Yükleyin



İlk adımda Flask'ı projeye dahil etmemiz gerekiyor. Flask, Python’un paket yöneticisi olan pip ile kolayca kurulabilir. Eğer Python bilgisayarınızda yüklü değilse, ilk olarak Python’u indirmeniz gerektiğini unutmayın.

Terminal veya komut istemcisinde şu komutu çalıştırarak Flask’ı yükleyebilirsiniz:


pip install flask


Yükleme tamamlandıktan sonra, Flask'ı kullanmaya hazır hale gelirsiniz.

Adım 2: Basit Bir Flask Uygulaması Oluşturun



Flask ile bir API başlatmak oldukça basittir. Şimdi, temel bir uygulama oluşturalım. Flask, uygulamanızda birkaç önemli bileşene sahiptir. En temel olanı ise, Flask app'inizin çalıştığı yerdir.

Öncelikle, uygulama dosyanızı oluşturun. Örneğin, `app.py` adını verelim. İşte basit bir Flask uygulaması:


from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return "Merhaba, Flask API!"

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


Bu kodu çalıştırdığınızda, `http://127.0.0.1:5000/` adresinde "Merhaba, Flask API!" mesajını görebileceksiniz. Flask'ın ne kadar kolay çalıştığını görmek oldukça heyecan verici, değil mi?

Adım 3: RESTful API Rotaları Ekleyin



Flask API, RESTful servislerle çalışmak için idealdir. REST, Representational State Transfer anlamına gelir ve web servislerinin standart iletişim şeklidir. Şimdi, bir RESTful API yaratmak için birkaç rota ekleyeceğiz.

Örneğin, kullanıcıların verilerini alabileceğiniz ve gönderebileceğiniz birkaç endpoint ekleyelim:


from flask import Flask, jsonify, request

app = Flask(__name__)

# Basit kullanıcı listesi
users = [
    {"id": 1, "name": "Ahmet"},
    {"id": 2, "name": "Mehmet"}
]

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

@app.route('/user', methods=['POST'])
def add_user():
    new_user = request.get_json()
    users.append(new_user)
    return jsonify(new_user), 201

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


Bu örnekte, iki farklı rota ekledik:
1. `/users` rotası ile kullanıcıları GET yöntemiyle listeleyebiliyoruz.
2. `/user` rotası ise POST yöntemiyle yeni bir kullanıcı eklememize olanak sağlıyor.

Adım 4: Veritabanı Entegrasyonu



Flask ile API geliştirmek, yalnızca statik verilerle sınırlı kalmaz. Gerçek dünyada çoğu API, bir veritabanı ile iletişim kurar. Bu aşamada, basit bir veritabanı entegrasyonu ekleyerek daha dinamik bir API yaratabiliriz.

Flask uygulamanızda veritabanı bağlantısı kurmak için SQLAlchemy gibi bir ORM (Object Relational Mapping) kullanabilirsiniz. Bu, veritabanı işlemlerini daha kolay hale getirir. SQLAlchemy’yi yüklemek için şu komutu kullanabilirsiniz:


pip install flask-sqlalchemy


Veritabanı bağlantısı kurduktan sonra, kullanıcıları veritabanına kaydedebilir ve çekebilirsiniz. İşte bir örnek:


from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)

@app.route('/users', methods=['GET'])
def get_users():
    users = User.query.all()
    return jsonify([{"id": user.id, "name": user.name} for user in users])

@app.route('/user', methods=['POST'])
def add_user():
    new_user = request.get_json()
    user = User(name=new_user['name'])
    db.session.add(user)
    db.session.commit()
    return jsonify({"id": user.id, "name": user.name}), 201

if __name__ == '__main__':
    db.create_all()  # Veritabanı tablolarını oluşturur
    app.run(debug=True)


Burada, SQLite veritabanı kullanarak kullanıcıları kaydediyoruz ve veritabanından alıyoruz.

Adım 5: Flask API'yi Yayınlayın



API geliştirmek harika bir şey, ancak onu yayına almak da en az geliştirmek kadar önemlidir. Flask API’nizi internet üzerinde erişilebilir hale getirmek için genellikle Heroku veya AWS gibi platformları kullanabilirsiniz.

Flask uygulamanızı Heroku'ya deploy etmek için:
1. Heroku hesabınızı oluşturun.
2. Uygulamanızı git ile versiyonlayın.
3. Heroku CLI ile uygulamanızı deploy edin.

Flask API’nizi bulut ortamında çalıştırarak, dünya çapında kullanıcılara sunabilirsiniz.

Sonuç: Flask ile API Geliştirme



Flask ile API geliştirmek, esnekliği ve sadeliği sayesinde oldukça keyifli bir deneyim olabilir. Küçük bir proje için Flask kullanmak, hızlıca bir backend kurmak isteyenler için mükemmel bir tercih. Flask, öğrenmesi kolay ve güçlü bir framework olduğundan, herhangi bir web geliştiricisinin başvurabileceği harika bir araçtır. Şimdi, öğrendiklerinizi uygulayarak kendi API’nizi geliştirebilir ve projelerinizde kullanabilirsiniz!

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