Performance: Global dependencies
MEDIUM IMPACT
Global dependencies affect the server response time and resource usage by running shared logic once per request or application lifecycle.
from fastapi import Depends, FastAPI async def get_db(): db = create_db_connection() try: yield db finally: db.close() app = FastAPI(dependencies=[Depends(get_db)]) @app.get("/items/") async def read_items(db=Depends()): return "Use shared db connection" @app.get("/users/") async def read_users(db=Depends()): return "Use shared db connection"
from fastapi import Depends, FastAPI def get_db(): db = create_db_connection() try: yield db finally: db.close() app = FastAPI() @app.get("/items/") async def read_items(db=Depends(get_db)): return db.query_items() @app.get("/users/") async def read_users(db=Depends(get_db)): return db.query_users()
| Pattern | Resource Initialization | Request Latency | Reusability | Verdict |
|---|---|---|---|---|
| Per-route dependency | Multiple times per request | Higher latency | Low | [X] Bad |
| Global dependency | Once per request | Lower latency | High | [OK] Good |