Performance: Dependencies with parameters
MEDIUM IMPACT
This affects server response time and resource usage during request handling.
from fastapi import Depends, FastAPI app = FastAPI() def get_db_connection(param: str): # Simulate expensive setup return f"DB connection with {param}" def get_param(): return "my_param" @app.get("/items/") async def read_items(db=Depends(lambda: get_db_connection(get_param()))): return {"db": db}
from fastapi import Depends, FastAPI app = FastAPI() def get_db_connection(param: str): # Simulate expensive setup return f"DB connection with {param}" @app.get("/items/") async def read_items(db=Depends(get_db_connection)): return {"db": db}
| Pattern | Dependency Calls | Parameter Passing | Response Time Impact | Verdict |
|---|---|---|---|---|
| Implicit parameter dependency | Multiple per request | No explicit passing | High due to repeated calls | [X] Bad |
| Explicit parameter passing with caching | Single or cached call | Explicit and controlled | Low, efficient reuse | [OK] Good |