1
resposta

[Reclamação] Criando o main.py(Difícil de compreender)

Acompanho a formação com certa tranquilidade, mas esse módulo trouxe alguns pontos importantes que ficaram muito vagos, como o fastapi e o sqlalchemy. Eu mal consegui entender como o código funcionava, nao estou pronto para fazer o exercício de completar o main.py, principamente porque não gosto de copiar e colar sem entender o que está acontecendo.

entendo que esse módulo é somente para introduzir o assunto, e por isso mesmo não deveria ter tal proposta do instrutor para que os alunos criasse sozinhos. Fico desapontado com isso e principamente pela ausência de resposta da Alura nas outras reclamações, me faz repensar se sou valorizado aqui como aluno.

1 resposta

Oi Celso, tudo certo?

É realmente importante que você se sinta valorizado e compreenda o que está aprendendo. Trabalhar com FastAPI e SQLAlchemy pode ser desafiador no início, especialmente se você está tentando entender tudo de uma vez. Vamos tentar simplificar um pouco as coisas.

  1. FastAPI: É um framework para construir APIs de forma rápida e eficiente. Ele é baseado em Python e utiliza o Pydantic para validação de dados e tipagem, o que ajuda a garantir que os dados que entram e saem da sua API estão no formato correto.

  2. SQLAlchemy: É uma ferramenta poderosa para interagir com bancos de dados em Python. Ele permite que você trabalhe com bancos de dados usando objetos Python em vez de escrever SQL diretamente.

Vamos dar uma olhada no que você precisa fazer no main.py:

  • Importações: Você está importando o FastAPI para criar a aplicação, SQLAlchemy para gerenciar o banco de dados e outras bibliotecas necessárias para o funcionamento da API.

  • Configuração do Banco de Dados: O trecho models.Base.metadata.create_all(bind=engine) é responsável por criar as tabelas no banco de dados, se elas ainda não existirem.

  • Função get_db: Essa função é usada para obter uma sessão de banco de dados que você pode usar para executar operações. Ela garante que a conexão com o banco de dados seja fechada corretamente após o uso.

  • Rotas: As rotas definem como sua API responderá a diferentes tipos de requisições. Por exemplo, @app.post('/estudantes/') define uma rota que aceita requisições POST para criar novos estudantes.

  • Funções CRUD: As funções como create_student e read_students são responsáveis por criar e ler estudantes do banco de dados, respectivamente.

Para entender melhor, você pode tentar executar pequenos trechos de código e ver o que cada parte faz. Por exemplo, experimente criar um objeto estudante manualmente e salvá-lo no banco de dados, ou faça uma requisição GET para ver os estudantes salvos.

Lembre-se, é normal se sentir sobrecarregado no início, mas com prática e paciência, as coisas vão ficando mais claras. Espero que isso ajude a tornar o processo um pouco mais compreensível.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.