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

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.

Al_Yapay_Zeka

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:

kopyala
pip install Flask
PHP


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:

kopyala
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Merhaba Dünya!' if __name__ == '__main__': app.run(debug=True)
PHP


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:

kopyala
python app.py
PHP


Ş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:

kopyala
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)
PHP


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:

kopyala
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)
PHP


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:

kopyala
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)
PHP


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

PHP "Fatal error: Allowed memory size exhausted" Hatası ve Çözümü: Bu Sorunu Kolayca Nasıl Çözersiniz?

Hadi, bir gün projene son bir dokunuş yaparak çalışmanı bitirmeye karar verdin. Sunucunun kontrol paneline girdin, yeni bir özellik ekledin ve hemen tarayıcıyı açtın. Ancak, seni bekleyen büyük bir engel var: "Fatal error: Allowed memory size exhausted"....

Gelişmiş Web Güvenliği: HTTP Strict Transport Security (HSTS) ile HTTPS'in Gücünü Artırma

Web dünyasında güvenlik, her geçen gün daha önemli bir hale geliyor. İnternetteki kişisel veriler ve bilgiler her an tehdit altında olabilir. İşte bu yüzden, web güvenliğini sağlamak için güçlü araçlar kullanmak, hem site sahipleri hem de kullanıcılar...

Yapay Zeka ile Veri Analizi: Python Kullanarak Gerçek Zamanlı Veriyi Nasıl İşlersiniz?

**Yapay zeka, son yılların en hızlı gelişen alanlarından biri haline geldi. Her geçen gün daha fazla iş kolunda kendine yer bulan bu teknoloji, özellikle veri analizi konusunda devrim yaratıyor. Eğer siz de Python kullanarak gerçek zamanlı verileri işlemek...

Yapay Zeka ile Kodlama: Hataları Tahmin Etmenin Gücü

Yazılım geliştirme dünyasında en sık karşılaşılan problemlerden biri, kod yazarken yapılan hatalardır. Hatalar bazen çok küçük olabilir, bazen ise projeyi durma noktasına getirecek kadar büyük. Her geliştirici, hataları bulmak ve düzeltmek için çok zaman...

Karmaşık Web Uygulamalarında Performans İyileştirmesi: React ve ASP.NET Core Entegrasyonunda Karşılaşılan Zorluklar ve Çözümleri

Web uygulamaları, her geçen gün daha karmaşık hale geliyor ve bu da geliştiricilerin karşılaştığı en büyük zorluklardan biri olan performans sorunlarını doğuruyor. Bu yazıda, React ve ASP.NET Core entegrasyonu ile ilgili yaşanabilecek performans problemlerine...

Web Sitenizi Hızlandırmanın En İyi 10 Yolu: Performans Artırıcı Pratikler ve Araçlar

Web siteniz ne kadar hızlı? Eğer cevabınız "bilmiyorum" veya "çok yavaş" ise, o zaman doğru yerdesiniz! Çünkü web sitesi hızınız, SEO'nuzun gizli kahramanıdır. Google, hız faktörünü bir sıralama kriteri olarak kullanıyor ve bunun etkisini görmezden gelmek,...