Nedir Bu REST API?
Flask ise Python tabanlı hafif bir web framework'üdür. Geliştiricilerin hızlıca projeler oluşturmasına olanak tanırken, aynı zamanda büyük projelerde de esneklik sağlar. Flask ile REST API yapmak, aslında hızlı ve verimli bir şekilde çalışmak anlamına gelir.
Flask ile Başlamak: İlk Adım
Flask Kurulumu: Eğer sisteminizde Python yüklü değilse, [Python'un resmi sitesinden](https://www.python.org/downloads/) Python'u indirip kurabilirsiniz. Ardından Flask'ı yüklemek için terminal veya komut satırını açın ve şu komutu girin:
```bash
pip install Flask
```
Evet, bu kadar basit! Flask’ı kurduktan sonra, bir API projesine başlamak için hazırsınız.
Flask Uygulaması Oluşturma
app.py adında bir dosya oluşturun ve içine şu kodları ekleyin:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/hello', methods=['GET'])
def hello_world():
return jsonify({"message": "Merhaba Dünya!"})
if __name__ == '__main__':
app.run(debug=True)
Bu kadar! Flask uygulamanız hazır. Şimdi, terminalde bu dosyayı çalıştırarak API’nizi test edebilirsiniz. `http://127.0.0.1:5000/api/hello` adresine gittiğinizde, "Merhaba Dünya!" mesajını göreceksiniz. Başarılı!
Daha Fazla Endpoints Eklemek
Şimdi `users` adında bir liste oluşturalım ve kullanıcıları bu listeye ekleyelim. İşte kod:
from flask import Flask, jsonify, request
app = Flask(__name__)
users = []
@app.route('/api/users', methods=['POST'])
def add_user():
user = request.get_json()
users.append(user)
return jsonify({"message": "Kullanıcı eklendi!", "user": user}), 201
@app.route('/api/users', methods=['GET'])
def get_users():
return jsonify({"users": users})
if __name__ == '__main__':
app.run(debug=True)
Bu kodda, bir POST isteği ile kullanıcı bilgilerini alıp `users` listesine ekliyoruz. Ayrıca GET isteği ile de tüm kullanıcıları listeleyecek bir endpoint oluşturduk. Artık, API’niz hem kullanıcı eklemeyi hem de kullanıcıları listelemeyi destekliyor.
Flask API’de Hata Yönetimi
from flask import Flask, jsonify, request
app = Flask(__name__)
users = []
@app.route('/api/users', methods=['POST'])
def add_user():
try:
user = request.get_json()
if 'name' not in user or 'age' not in user:
raise ValueError("Kullanıcı adı ve yaşı zorunludur.")
users.append(user)
return jsonify({"message": "Kullanıcı eklendi!", "user": user}), 201
except Exception as e:
return jsonify({"error": str(e)}), 400
@app.route('/api/users', methods=['GET'])
def get_users():
return jsonify({"users": users})
if __name__ == '__main__':
app.run(debug=True)
Bu örnekte, kullanıcı adı ve yaşı zorunlu kılındı. Eğer bu bilgiler gönderilmezse, kullanıcıya uygun bir hata mesajı gönderilecek.
Flask API’yi Dağıtmak
Flask uygulamanızı Heroku’ya dağıtmak için öncelikle bir `Procfile` oluşturmanız gerekir:
web: python app.py
Sonra Heroku CLI aracılığıyla uygulamanızı dağıtabilirsiniz. Detaylı adımlar için Heroku'nun [dokümantasyonunu](https://devcenter.heroku.com/articles/getting-started-with-python) inceleyebilirsiniz.
Sonuç
Umarım bu yazı, Flask ile REST API yapma konusunda size ilham verir ve sizi projelerinizde başarıya taşır. Şimdi sıra sizde! Flask ile harika API’ler geliştirmeye ne dersiniz?