05 - Integrando Banco de Dados a API
01 - Qual a função de adicionarmos a função "Depends" no seguinte código:
@app.post('/users/', status_code=HTTPStatus.CREATED, response_model=UserPublic)
def create_user(
user: UserSchema,
session: Session = Depends(get_session)
):
02 - Sobre a injeção na fixture podemos afirmar que:
with TestClient(app) as client:
app.dependency_overrides[get_session] = get_session_override
yield client
app.dependency_overrides.clear()
03 - Essa fixture no banco de dados garante que:
@pytest.fixture
def session():
engine = create_engine(
'sqlite:///:memory:',
connect_args={'check_same_thread': False},
poolclass=StaticPool,
)
04 - Para que o cliente requisite o campo "limit" ele deve usar a url:
@app.get('/users/', response_model=UserList)
def read_users(
skip: int = 0, limit: int = 100, session: Session = Depends(get_session)
):
05 - Quais os padrões de projeto implementados pela Session?
06 - O que faz o método session.commit()?
07 - O que faz o método session.refresh(obj)?
08 - O que o "|" siginifica na query?
session.scalar(
select(User).where(
(User.username == user.username) | (User.email == user.email)
)
)