Dependencies with yield
Setup/Teardown with yield
Section titled “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
Section titled “Database Connection Pool”def get_db(): db = DBConnection("sqlite:///app.db") try: yield db finally: db.disconnect()Multiple Cleanup Steps
Section titled “Multiple Cleanup Steps”def get_resource(): resource = acquire_resource() try: yield resource finally: release_resource(resource) cleanup_temp_files()See Also
Section titled “See Also”- SQL Databases — database integration
- Classes as Dependencies — class-based deps