Exercícios da aula 08
Exercício 01
Reveja os endpoints criados por você em exercícios anteriores e adicione async
e await
para que eles se tornem não bloqueantes também.
Solução
Para o exercício do endpoit que retorna o HTML, a resolução é bastante simples:
@app.get('/exercicio-html', response_class=HTMLResponse)
async def exercicio_aula_02():
return """
# ...
Para o endpoint de GET via ID:
@app.get('/users/{user_id}', response_model=UserPublic)
async def read_user__exercicio(
user_id: int, session: Session = Depends(get_session)
):
db_user = await session.scalar(select(User).where(User.id == user_id))
if not db_user:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND, detail='User not found'
)
return db_user
Exercícios 02
Altere o endpoint read_root
para suportar asyncio
.