Flask Nedir ve REST API Nedir?
REST API (Representational State Transfer API), HTTP üzerinden veri alışverişi yapabilen bir protokoldür. Bu tür API'ler genellikle JSON formatında veri gönderir ve alır. REST API, web uygulamaları ve mobil uygulamalar arasında veri paylaşımını sağlar.
Flask ile REST API Yapmaya Başlamak
```bash
pip install Flask
```
Flask kurulumunu gerçekleştirdikten sonra, basit bir Flask API'si oluşturmak için şu adımları takip edebilirsiniz.
İlk Flask API Kodumuz
```python
from flask import Flask
app = Flask(__name__)
@app.route('/api/hello', methods=['GET'])
def hello_world():
return {'message': 'Hello, World!'}
if __name__ == '__main__':
app.run(debug=True)
```
Yukarıdaki kodda Flask’ı import ettik ve bir Flask uygulaması oluşturduk. `@app.route()` dekoratörü ile bir endpoint tanımladık. Bu endpoint, `/api/hello` adresinde bir GET isteği alır ve JSON formatında bir yanıt döndürür.
Uygulamanızı çalıştırmak için terminalde şu komutu çalıştırabilirsiniz:
```bash
python app.py
```
Bu komut Flask uygulamanızı başlatacak ve `http://127.0.0.1:5000/api/hello` adresinden erişilebilen basit bir API sağlayacaktır.
Parametreler ile Çalışmak
```python
@app.route('/api/greet/
def greet_user(name):
return {'message': f'Hello, {name}!'}
```
Bu kodda `
Veritabanı ile Çalışmak
Öncelikle SQLite’ı kurmanız gerekebilir:
```bash
pip install Flask-SQLAlchemy
```
Veritabanını entegre etmek için şu adımları izleyin:
```python
from flask import Flask, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
def __repr__(self):
return f'
@app.route('/api/users', methods=['POST'])
def add_user():
data = request.get_json()
new_user = User(username=data['username'])
db.session.add(new_user)
db.session.commit()
return {'message': f'User {new_user.username} added successfully!'}
if __name__ == '__main__':
db.create_all() # Veritabanını oluşturur
app.run(debug=True)
```
Bu kodda, `User` adında bir veritabanı modeli tanımladık. `/api/users` endpoint'i, gelen JSON verisindeki `username` bilgisini alıp yeni bir kullanıcı ekler. Bu işlemde veritabanı ile etkileşimde bulunuyoruz.
Flask API'yi Geliştirmek
Authentication eklemek için JWT (JSON Web Token) kullanabilirsiniz. Flask için JWT kullanımı oldukça yaygındır ve kullanıcı doğrulaması için güvenli bir yöntem sunar.
Flask API’nin Sonuçları
Flask ile geliştirilen API'ler, modern web ve mobil uygulamaları için temel yapı taşlarıdır. Bu yazı, sizlere Flask ile REST API yapmanın temel adımlarını göstermeyi amaçladı. Şimdi, Flask ile geliştirdiğiniz API'nizi kullanmaya hazırsınız!