FastAPI'yi Satır Satır Takip Ederek Okumak
(rumbarum.oopy.io)- 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.
- Kullanılan değişkenlerin hangi değerlere sahip olduğunu, instance ise hangi
- 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,ExceptionMiddlewareiçinde işleniyor; diğer sunucu hataları iseServerErrorMiddlewareiçinde ele alınıyor.- Middleware'lerin blocking olmasını önlemek için ayrıca bir thread grubu daha çalıştırılıyor.
- Request işlemenin
Henüz yorum yok.