Hızlı, Modern ve Kolay API Geliştirme
Dijital projelerde sadece içerik değil, aynı zamanda altyapı da önemlidir. İçerik üreticileri, geliştiriciler ve “çeyrek mühendisler” için veriyi internete açmak veya küçük çaplı yapay zeka uygulamalarını kullanıma sunmak artık sandığınız kadar zor değil. İşte burada FastAPI devreye giriyor.

FastAPI Nedir?
FastAPI, Python diliyle yazılmış, modern, hızlı ve yüksek performanslı bir web API framework’üdür. RESTful API’leri hızlı ve kolay bir şekilde geliştirmenizi sağlar. ASGI (Asynchronous Server Gateway Interface) tabanlıdır ve Python 3.6+ sürümlerindeki type hinting (tip ipuçları) desteği ile güçlü ve anlaşılır bir yapı sunar.
Temeli Starlette (web altyapısı) ve Pydantic (veri doğrulama ve şema tanımlama) kütüphanelerine dayanır. Kod yazımı sırasında aynı anda otomatik olarak API belgeleri de oluşturulur.
FastAPI Ne İçin Kullanılır?
-
REST API’ler oluşturmak
-
Web uygulamalarının backend’ini geliştirmek
-
Makine öğrenmesi ve yapay zeka modellerini servis haline getirmek
-
Mikroservis mimarilerinde bağımsız servisler kurmak
-
IoT cihazlarından gelen veriyi karşılamak ve işlemek
-
Otomasyon sistemleri için API altyapısı oluşturmak
-
Mobil ve web uygulamaları için hızlı backend yazmak
-
Üretim ortamına taşımadan önce model prototiplerini test etmek
FastAPI Nasıl Kurulur?
FastAPI’nin kurulumu oldukça basittir. Python kurulu bir sistemde aşağıdaki adımları takip edebilirsiniz:
pip install fastapi[all]
[all] seçeneği, FastAPI’nin Swagger UI, ReDoc ve diğer geliştirme araçlarını da kurar. Alternatif olarak sadece temel FastAPI kurulumu için:
pip install fastapi
pip install "uvicorn[standard]" # Sunucu için
uvicorn, FastAPI uygulamalarını çalıştırmak için kullanılan hafif ve hızlı bir ASGI sunucusudur.
FastAPI’nin Öne Çıkan Özellikleri
-
Yüksek Performanslı: ASGI tabanlıdır ve async/await desteğiyle hızlı çalışır.
-
Otomatik Dokümantasyon: Swagger UI ve ReDoc ile tüm endpoint’ler belgelenir.
-
Veri Doğrulama: Pydantic sayesinde gelen istekler tipine ve içeriğine göre doğrulanır.
-
Kodda Tekrar Yok: Bir kez yazılan veri modeli hem validasyon hem de dokümantasyon için kullanılır.
-
Kapsamlı Tip Desteği: IDE’lerde otomatik tamamlama ve tip hatalarını erkenden görme imkânı sağlar.
-
Kolay Geliştirme ve Test: Basit syntax’ı ve async desteğiyle test yazmak çok kolaydır.
-
Geniş Ekosistem: Starlette ve Pydantic desteği ile güçlü bir topluluğa sahiptir.
-
OpenAPI Standardı: Tüm API dökümantasyonu OpenAPI 3.0 ile uyumlu olarak üretilir.
Basit Bir FastAPI Uygulaması
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def anasayfa():
return {"mesaj": "FastAPI'ye hoş geldiniz!"}
Bu kodu çalıştırmak için terminalde şu komutu kullanın:
uvicorn app:app --reload
Not: app.py adındaki bir dosyada çalışıyorsanız app:app demek, dosya_ismi:FastAPI_instance demektir.
Artık tarayıcınızda şu adresleri ziyaret edebilirsiniz:
-
http://localhost:8000 → Ana endpoint
-
http://localhost:8000/docs → Swagger UI (interaktif API)
-
http://localhost:8000/redoc → ReDoc (alternatif dökümantasyon)
Swagger Nedir ve Neden Önemlidir?
Swagger, API’lerin belgelenmesi ve test edilmesi sürecini kolaylaştıran bir araç setidir. FastAPI ile entegre şekilde çalışır ve otomatik olarak dinamik, interaktif bir dokümantasyon arayüzü üretir.
Swagger Ne İşe Yarar?
- Tüm endpoint’leri görsel olarak listeler
- Hangi metodun ne işe yaradığını açıklar
- API’ye tarayıcı üzerinden canlı istek atılmasına olanak tanır
- Geliştiriciler arasında daha hızlı iş birliği sağlar
- Otomatik test yapmayı kolaylaştırır
Swagger sayesinde, frontend geliştiricileri ya da üçüncü parti kullanıcılar, API’nizi kullanmak için teknik belge okumak zorunda kalmaz. Her şey görsel ve etkileşimli olarak sunulur.
Swagger, OpenAPI standardını kullanır. Bu sayede farklı platformlarda, farklı araçlarla uyumlu çalışabilen API tanımları ortaya çıkar. API tasarım sürecinde Swagger Editor gibi araçlarla mock servisler oluşturmak mümkündür.
FastAPI’yi Kimler Kullanmalı?
-
Veri Bilimciler: Model servisleri kurmak isteyenler
-
Frontend Geliştiriciler: Hızlı backend API’ye ihtiyaç duyanlar
-
Start-up Kurucuları: MVP geliştirme aşamasında olanlar
-
Backend Başlangıç Seviyesindekiler: Flask’ten daha yapılandırılmış bir şey isteyenler
-
Akademisyenler: Araştırma çıktılarının API’ye dönüşmesini isteyenler
-
Öğrenciler: Prototip uygulamalar oluşturmak isteyenler
Sonuç: Neden FastAPI?
FastAPI, modern Python geliştiricilerinin ihtiyaç duyduğu hız, verimlilik ve basitliği bir araya getiriyor. Küçük projelerden büyük mikroservis sistemlerine kadar her ölçekte kullanılabilir. Swagger desteğiyle birlikte gelen otomatik belgeler, geliştirici deneyimini bir üst seviyeye taşır.
FastAPI ile kod yazmak sadece hızlı değil, aynı zamanda güvenli ve sürdürülebilir bir deneyim sunar. Otomatik validasyon, test kolaylığı ve dokümantasyonla API geliştirme süreci hem keyifli hem de profesyonel hale gelir.
Kod yazmaya hızlıca başlamak isteyen herkes için güçlü bir araç: FastAPI.
Kaynakça:
- https://medium.com/
- https://fastapi.tiangolo.com/tr/
- https://datascientest-com
- https://academy.patika.dev/