Python ile Rest Apı Nasıl Yapılır? Fastapı Başlangıç Rehberi

Python ile Rest Apı Nasıl Yapılır? Fastapı Başlangıç Rehberi

Gokce Hatun

Gümüş
Kayıtlı Kullanıcı
Puan 18
Çözümler 0
Katılım
9 Ağu 2026
Mesajlar
147
Tepkime puanı
15
Gokce Hatun
Python ile REST API Nasıl Yapılır? FastAPI Başlangıç Rehberi

Günümüzde web uygulamaları ve mobil uygulamalar için veri iletişimi sağlamak amacıyla REST API (Representational State Transfer Application Programming Interface) kullanımı yaygın hale gelmiştir. Python programlama dili, REST API geliştirmek için oldukça güçlü ve esnek bir yapıya sahiptir. Özellikle FastAPI, hızlı ve verimli bir şekilde API oluşturma imkanı sunarak geliştiricilerin işini kolaylaştırmaktadır. Bu rehberde, FastAPI kullanarak Python ile REST API geliştirme sürecini adım adım ele alacağız.

### FastAPI Nedir?

FastAPI, Python ile yazılmış modern ve hızlı bir web çerçevesidir. Asenkron programlama yetenekleri sayesinde yüksek performans sunar ve geliştiricilere hızlı bir şekilde API geliştirme imkanı tanır. FastAPI, otomatik olarak API dokümantasyonu oluşturabilmesi, veri doğrulama ve tip kontrolü gibi özellikleri ile dikkat çeker.

### FastAPI ile REST API Geliştirme Adımları

#### 1. Gerekli Kütüphanelerin Kurulumu

FastAPI'yi kullanmaya başlamak için öncelikle gerekli kütüphaneleri kurmalısınız. Bunun için terminal veya komut istemcisine aşağıdaki komutu girin:

```bash
pip install fastapi uvicorn
```

- FastAPI: API oluşturma için gerekli olan ana kütüphane.
- Uvicorn: FastAPI uygulamanızı çalıştırmak için kullanılan bir ASGI sunucusu.

#### 2. Basit Bir API Oluşturma

Aşağıdaki Python kodu, basit bir "Hello World" API'si oluşturur:

```python
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def readroot():
return {"message": "Hello, World!"}
```

Bu kodda:
- `FastAPI` sınıfından bir uygulama nesnesi oluşturduk.
- `@app.get("/")` dekoratörü, ana dizine bir GET isteği yapıldığında çalışacak olan `readroot` fonksiyonunu tanımlar.

#### 3. API'yi Çalıştırma

API'nizi çalıştırmak için terminalde aşağıdaki komutu çalıştırın:

```bash
uvicorn main:app --reload
```

Burada `main` Python dosyanızın adı (örneğin, `main.py`), `app` ise FastAPI uygulama nesnenizin adıdır. `--reload` seçeneği, kodda yapılan değişikliklerin otomatik olarak yansıtılmasını sağlar.

#### 4. API'ye Veri Eklemek

API'ye veri eklemek için POST isteği kullanarak bir endpoint oluşturalım. Aşağıdaki örnek, kullanıcı bilgilerini alıp saklayacak bir API oluşturur:

```python
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
name: str
age: int

users = []

@app.post("/users/")
def createuser(user: User):
users.append(user)
return user
```

Bu kodda:
- `User` sınıfı, kullanıcı verilerinin yapısını belirler.
- `createuser` fonksiyonu, POST isteği ile kullanıcı bilgilerini alır ve saklar.

#### 5. API Dokümantasyonu

FastAPI, API'nizin otomatik olarak dokümantasyonunu oluşturur. Uygulamanızı çalıştırdıktan sonra, [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) adresine giderek Swagger UI ile API dokümantasyonunu görüntüleyebilirsiniz.

### Sonuç

FastAPI, Python ile REST API geliştirmek için güçlü bir araçtır. Hızlı kurulum, veri doğrulama ve otomatik dokümantasyon gibi avantajlarıyla dikkat çeker. Bu rehberde, FastAPI kullanarak basit bir API oluşturmayı öğrendiniz. Daha karmaşık projelerde FastAPI'nin sunduğu asenkron programlama, middleware ve bağımlılık enjeksiyonu gibi özellikleri keşfetmenizi öneririm.

### Sık Sorulan Sorular

1. FastAPI nedir?
FastAPI, Python ile yazılmış modern ve hızlı bir web çerçevesidir. REST API geliştirmek için idealdir.

2. FastAPI ile hangi veritabanları kullanılabilir?
FastAPI, SQLAlchemy, Tortoise ORM gibi farklı veritabanı kütüphaneleriyle entegre edilebilir.

3. FastAPI ile asenkron programlama nasıl yapılır?
FastAPI, asenkron programlamayı destekler. `async` ve `await`
 

SanalOrdu'ya Hoş Geldiniz!

💻 Teknoloji dünyasına hoş geldiniz! 🤖 Yapay zekâ, yazılım, donanım, siber güvenlik, oyun ve daha fazlasını keşfedin. 🚀 Ücretsiz üye olun, konulara katılın, soru sorun ve bilgilerinizi paylaşın!

Ücretsiz Üye Ol

GÜNÜN SÖZÜ

🛡️ GÜNÜN SİBER GÜVENLİK & TEKNOLOJİ İPUCU

Veriler yükleniyor...

Geri