Skip to content

Sub-dependencies

Dependencies can depend on other dependencies. JustAPI resolves the entire chain automatically:

from justapi import JustAPIApp, Depends
app = JustAPIApp()
# Level 1: get token from header
def get_token(authorization: str = Header(...)):
return authorization.replace("Bearer ", "")
# Level 2: decode token to get user
def get_user(token: str = Depends(get_token)):
# In production, decode JWT
return {"user_id": 1, "name": "Alice"}
# Level 3: use user in handler
@app.get("/profile")
def profile(user: dict = Depends(get_user)):
return {"user": user["name"]}

JustAPI resolves get_tokenget_userprofile automatically.

def get_db():
return DatabaseConnection()
def get_current_user(db: DBSession = Depends(get_db)):
return db.query_user()
def get_admin_user(user: dict = Depends(get_current_user)):
if user.get("role") != "admin":
raise HTTPException(status_code=403)
return user