22 poin oleh rumbarum 2023-08-21 | Belum ada komentar. | Bagikan ke WhatsApp
  1. Mencoba menelusuri stack dengan PyCharm layak dicoba.
    1. Kita bisa memeriksa nilai variabel yang digunakan, dan jika itu sebuah instance, atribut apa saja yang dimilikinya.
  2. FastAPI tampaknya tidak bisa ada tanpa Starlette.
    1. Kelas dasarnya juga dibuat dengan mewarisi Starlette, dan Request, Response, Router, Middleware, dan lainnya semuanya dibuat berbasis Starlette.
    2. Kita jadi lebih sering melihat kode Starlette daripada kode FastAPI.
    3. Muncul juga pemikiran bahwa mungkin kita bisa membuat aplikasi dengan Starlette saja, tanpa FastAPI.
  3. Peran Uvicorn ↔ Starlette ↔ FastAPI terasa menjadi lebih jelas.
    1. Uvicorn: antarmuka komunikasi eksternal
    2. Starlette: antarmuka operasi internal server
    3. FastAPI: berinteraksi dengan Uvicorn di atas Starlette dengan menambahkan kemudahan penulisan fungsi endpoint (Depends(), validasi parameter melalui Pydantic, dan sebagainya)
  4. Pemahaman tentang middleware jadi bertambah.
    1. Kita bisa melihat bahwa pemrosesan Request berjalan melalui ServerErrorMiddleware → middleware kustom → ExceptionMiddleware.
    2. Handler yang dipasang dengan @app.exception_handler(Exception) diproses di ExceptionMiddleware, sedangkan error server lainnya diproses di ServerErrorMiddleware.
    3. Untuk mencegah middleware menjadi blocking, dijalankan lagi grup thread terpisah.

Belum ada komentar.

Belum ada komentar.