from collections.abc import AsyncGenerator
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine

engine = create_async_engine(database_url)
AsyncSessionLocal = async_sessionmaker(engine)

async def get_db() -> AsyncGenerator[AsyncSession]:
    async with AsyncSessionLocal() as async_session:
        yield async_session

...

@router.get('/', response_model=list[SchemaName])
async def get_list(session: Annotated[AsyncSession, Depends(get_db)]) -> list[ModelName]:
    result = await session.scalars(select(ModelName))
    return result.all()