justapi — /docs

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

JustAPI v2.0.9 — Open Source MIT License · Built with WebTUI · GitHub

NORMAL master justapi/docs
utf-8 Top 1:1