Dependency Injection dengan Depends()
Penjelasan
Depends() adalah sistem dependency injection FastAPI — kamu tulis fungsi biasa, lalu deklarasikan sebagai parameter path operation dengan Depends(fungsi). FastAPI otomatis memanggil fungsi itu tiap request dan menyuntikkan hasilnya, cocok untuk logic berulang seperti koneksi database atau pagination default.
Contoh Konsep
from fastapi import Depends
def common_params(skip: int = 0, limit: int = 10):
return {'skip': skip, 'limit': limit}
@app.get('/catatan')
def list_catatan(params: dict = Depends(common_params)):
return params
Praktikum
Buat dependency common_params(skip, limit) dan pakai di endpoint GET '/catatan' lewat Depends().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Depends() bisa dipakai berlapis (dependency yang bergantung pada dependency lain) — FastAPI otomatis meresolusi seluruh rantainya, dan hasil dependency yang sama dalam satu request bisa di-cache lewat use_cache.