swadhinbiswas docs: build docs_site — restructure sidebar, create 37 new pages · 7/25/2026
98106de
58 lines · 1.3 KB
Raw Download

title: Dependencies with yield
description: Use yield dependencies in JustAPI for setup/teardown patterns like database connections.
keywords: [JustAPI, dependencies, yield, setup, teardown, cleanup]

Setup/Teardown with yield

Use yield in dependencies to perform cleanup after the request:

from justapi import JustAPIApp, Depends

def get_db_session():
    session = create_session()
    try:
        yield session
    finally:
        session.close()

app = JustAPIApp()

@app.get("/users/")
def list_users(db = Depends(get_db_session)):
    users = db.query("SELECT * FROM users")
    return {"users": users}

The code before yield runs before the request. The code after yield runs after the request (even if it raises an exception).

Database Connection Pool

def get_db():
    db = DBConnection("sqlite:///app.db")
    try:
        yield db
    finally:
        db.disconnect()

Multiple Cleanup Steps

def get_resource():
    resource = acquire_resource()
    try:
        yield resource
    finally:
        release_resource(resource)
        cleanup_temp_files()

See Also