- Pycham ile stack trace'i takip etmeyi denemek bir kez olsun yapmaya değer.
- Kullanılan değişkenlerin hangi değerlere sahip olduğunu, instance ise hangi
attr'lara sahip olduğunu kontrol edebilirsiniz.
- FastAPI'nin Starlette olmadan var olamayacağı görülüyor.
- Temel sınıfı da Starlette'ten miras alınarak oluşturulmuş; Request, Response, Router, Middleware gibi bileşenlerin tamamı da Starlette tabanlı hazırlanmış.
- FastAPI kodundan çok Starlette kodunu görüyorsunuz.
- FastAPI'yi çıkarıp doğrudan Starlette ile de bir uygulama yapılabileceği düşüncesi doğuyor.
- Uvicorn ↔ Starlette ↔ FastAPI rollerini daha net hissettiriyor.
- Uvicorn: dış iletişim arayüzü
- Starlette: sunucu içi çalışma arayüzü
- FastAPI: Starlette üzerine endpoint fonksiyonlarını yazma kolaylığı (
Depends(), Pydantic ile parametre doğrulama vb.) ekleyip Uvicorn ile etkileşime giriyor
- Middleware hakkında biraz daha fazla anlayış kazandırıyor.
- Request işlemenin
ServerErrorMiddleware → özel middleware'ler → ExceptionMiddleware şeklinde ilerlediği görülebiliyor.
@app.exception_handler(Exception) ile eklenen handler, ExceptionMiddleware içinde işleniyor; diğer sunucu hataları ise ServerErrorMiddleware içinde ele alınıyor.
- Middleware'lerin blocking olmasını önlemek için ayrıca bir thread grubu daha çalıştırılıyor.
Henüz yorum yok.