Flask ile REST API Yapma: Adım Adım Rehber

Bu yazı, Flask kullanarak bir REST API nasıl yapılır konusunda ayrıntılı bir rehber sunar. Flask ile hızlıca API geliştirme süreci, adım adım açıklanarak kullanıcı dostu bir şekilde anlatılmıştır.

BFS

Flask ile REST API Nedir?


Herkesin hayatında bir noktada, bir web uygulaması veya mobil uygulama geliştirdiğinde mutlaka karşılaştığı, veri alışverişi yapmayı sağlayan API’ler vardır. Peki, REST API nedir? REST, "Representational State Transfer" kelimelerinin kısaltmasıdır ve bu mimari, uygulamalar arasında veri aktarımını sağlayan hafif bir yöntemdir. Python dünyasında ise, REST API'leri genellikle Flask veya Django gibi mikroframework'lerle geliştirilir. Bizim bugünkü konuğumuz ise Flask.

Flask, Python ile geliştirilmiş, minimal ama güçlü bir web framework'üdür. Flask kullanarak hızlı ve esnek bir şekilde REST API'leri oluşturmak mümkün. Hadi, hep birlikte Flask ile nasıl basit bir REST API yapabileceğimizi keşfedelim!

Flask ile REST API Yapmaya Başlamak


İlk olarak, Flask'ı kurmamız gerekiyor. Eğer bilgisayarınızda Python yüklü değilse, [Python’un resmi sitesinden](https://www.python.org/downloads/) Python’u indirip kurabilirsiniz. Ardından, Flask’ı kurmak için terminal veya komut istemcisine şu komutu yazabilirsiniz:


pip install Flask


Bir Flask Uygulaması Oluşturma


Şimdi ise Flask ile bir uygulama oluşturalım. Flask, bizim için gerekli olan tüm HTTP işlemlerini yönetir. En basit haliyle bir Flask uygulaması şu şekilde başlar:


from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Merhaba Dünya!'

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


Yukarıdaki kod, Flask uygulamanızın temelini atıyor. `@app.route('/')`, anasayfada `hello_world()` fonksiyonunu çağırarak 'Merhaba Dünya!' mesajını döndürüyor. Bu uygulamayı çalıştırmak için terminalde şu komutu kullanabilirsiniz:


python app.py


Şimdi tarayıcınızda `http://127.0.0.1:5000/` adresine giderek, "Merhaba Dünya!" mesajını görebilirsiniz.

Veri Alışverişi İçin JSON Kullanmak


Flask ile daha karmaşık işlemler yapabilmek için genellikle JSON formatında veri alışverişi yaparız. API'ler çoğunlukla JSON kullanarak, veri gönderir veya alır. Şimdi, kullanıcı bilgilerini almak ve geri döndürmek için basit bir API oluşturalım.

Aşağıdaki örnekte, bir kullanıcıya ait bilgileri almak için bir endpoint (uç nokta) oluşturacağız:


from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/user', methods=['GET'])
def get_user():
    user = {
        'id': 1,
        'name': 'Ahmet',
        'age': 30
    }
    return jsonify(user)

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


Bu kod parçasında, `/api/user` adlı bir endpoint oluşturduk. `GET` isteği gönderildiğinde, Ahmet adında bir kullanıcının bilgilerini içeren JSON formatında bir yanıt döndürüyoruz. JSON yanıtı şu şekilde olacak:

```json
{
"id": 1,
"name": "Ahmet",
"age": 30
}
```

Bu endpoint’e bir tarayıcı veya Postman gibi araçlarla istek gönderdiğinizde, yukarıdaki gibi bir yanıt alırsınız.

POST Yöntemi ile Veri Göndermek


Şimdi ise bir REST API’de veri gönderme işlemini yapalım. `POST` yöntemi, sunucuya veri göndermek için kullanılır. Basit bir kullanıcı ekleme işlemi yapalım:


from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/api/user', methods=['POST'])
def add_user():
    new_user = request.get_json()  # Kullanıcıdan gelen veriyi al
    return jsonify({
        'message': 'Kullanıcı başarıyla eklendi!',
        'user': new_user
    }), 201

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


Burada, `/api/user` endpoint’ine `POST` isteği gönderildiğinde, kullanıcı bilgileri alınıyor ve JSON formatında bir yanıt dönülüyor. Gelen veriyi `request.get_json()` ile alıyoruz ve geri gönderiyoruz.

Örneğin, Postman kullanarak şu JSON verisini gönderdiğinizde:

```json
{
"name": "Mehmet",
"age": 25
}
```

Yanıt şu şekilde olacaktır:

```json
{
"message": "Kullanıcı başarıyla eklendi!",
"user": {
"name": "Mehmet",
"age": 25
}
}
```

Flask REST API’sine Hata Yönetimi Eklemek


Bir API geliştirirken, hataların doğru bir şekilde yönetilmesi çok önemlidir. Flask, hata yönetimini oldukça basit hale getiriyor. Bir hata meydana geldiğinde, kullanıcıya anlamlı bir mesaj döndürebiliriz. Örneğin:


from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/user/', methods=['GET'])
def get_user(user_id):
    users = {1: 'Ahmet', 2: 'Mehmet', 3: 'Ali'}
    
    if user_id not in users:
        return jsonify({'error': 'Kullanıcı bulunamadı!'}), 404
    
    return jsonify({'id': user_id, 'name': users[user_id]})

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


Burada, belirtilen `user_id`’ye sahip bir kullanıcı bulunamadığında, 404 hata kodu ve uygun bir mesaj döndürüyoruz.

Sonuç: Flask ile REST API Geliştirme


Flask ile REST API geliştirmek gerçekten çok kolay ve eğlenceli! Az kod ile güçlü ve esnek API'ler oluşturmak, birçok modern web ve mobil uygulamanın temel taşlarından biridir. Flask’ın sadeliği ve esnekliği, onu API geliştirenler için harika bir seçim haline getiriyor.

Bu yazıda, Flask ile temel bir REST API oluşturmayı, JSON veri gönderip almayı ve hata yönetimini nasıl yapacağınızı öğrendiniz. Şimdi sıradaki adım, daha büyük projelere adım atmak ve öğrendiklerinizi gerçek dünyada kullanmak!

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