Aula 02
Refatorização de Código para Uma Organização Melhor - Golang CRUD Básico
Nesta aula dividimos o código em partes mais modulares.
Summary
# Resumo do Curso de API em JSON com Golang
## Visão Geral
Neste curso, estamos aprendendo a criar uma API simples em JSON utilizando a linguagem Golang.
### Etapas Iniciais
- Criamos nosso primeiro servidor HTTP com uma rota raiz que exibe uma mensagem de boas-vindas.
- Implementamos uma mensagem no terminal informando se o servidor está rodando na porta 1337.
### Refatoração do Código
1. **Organização do Código**:
- Extraímos a lógica de configuração do servidor e a movemos para uma nova função chamada `configurarServidor`.
- Mantivemos a função principal (`main`) limpa, chamando a nova função.
- Também criamos uma função chamada `configurarRotas` para gerenciar os handlers.
2. **Encapsulamento das Funcionalidades**:
- Implementamos uma nova função chamada `rotaPrincipal` que lida com requisições à rota principal, enviando a mensagem de boas-vindas.
3. **Testes de Funcionamento**:
- Verificamos que, após cada modificação, o servidor é recompilado e funcionando corretamente.
### Próximos Passos
- Começamos a planejar a implementação de um CRUD (Create, Read, Update, Delete) para uma livraria.
- Definimos um modelo para os livros que terão as propriedades ID, título e autor, utilizando `structs` para representar esses dados.
## Conclusão
Estamos prontos para avançar na implementação do CRUD em nosso próximo encontro, onde iremos construir a estrutura para gerenciar os livros.
Video Transcript
Estamos de volta com o nosso curso para aprender a fazer um API de JSON, um clube bem simples
na linguagem Golang.
Criamos aqui nosso primeiro servidor de HTTP com a rota raiz, não dando a mensagem, bem-vindo.
Vamos continuar.
Então, gostaria de fazer uma repartorização antes de criarmos mais coisas.
Primeiro de tudo, vamos antes aqui do lesson and serve.
Vamos pôr uma mensagem dizendo que o servidor está rodando para a gente saber lá no terminal.
Gente, em vez de ver nada, vê alguma mensagem.
Servidor está rodando na porta, qualquer porta aqui.
Nesse caso eu nem pus na variável, 1337, você quiser pôr na variável para não poder
ter que escrever a mesma coisa aqui, pode fazer.
Firmly ter print alins, servidor está rodando.
Termina lá até está.
Mata o servidor conto c e roda e compila e roda de novo.
Eu uso como um do Golang para ir rápido.
O servidor está rodando.
Bem, agora estou a mensagem.
Está melhor.
Vamos de volta lá.
Pronto.
Agora vamos a mover certas coisas aqui para outra função.
Por exemplo, vamos fazer aqui uma função para poder encapsular toda essa lógica alessada
do servidor para fora da função principal.
Eu vou chamar essa função aqui de configurar servidor.
Nessa função eu vou extrair essas coisas aqui.
Vamos mover da main para configurar servidor e lá do main a gente chama configurar servidor.
Então nós extraímos a lógica de configurar servidor para a sua própria função, porque
a função principal para deixar limpa aqui tem um Handle Funk, um Lesson and Service
e um Put-On.
A gente pode até refatorizar mais se quiser e mandar esses Handles para outra função.
Pode ser fazer isso também.
Vou configurar Handlers ou Rotas.
Você pode chamar, mas eles são chamados Handlers.
Eu vou chamar de Rotas aqui.
Vamos mover esse aqui para cá e daqui do servidor você chama configurar Rotas.
Vamos ver se não deu nenhum problema, não teve nenhuma variável local.
Então vou matar o servidor com o truC.
Note que toda vez que eu mudo o código eu tenho que recompilar e rodar.
O servidor está rodando sem problemas.
O navegador aqui deu atualização e está funcionando bem.
Vou botar o automo aqui.
Vamos ver se funciona se eu mover essa mensagem de servidor está rodando aqui.
E vou pular para a main que eu não quero ter essa mensagem no configurar servidor.
Vamos ver se funciona certo.
O problema aqui é que a mensagem vem depois do listening server.
O listening server ele para, ele executa, mas não continua a acção depois dessa coisa.
Vou pular de volta mesmo.
Não continua depois da HTTP.
O que mais podemos fazer aqui?
Go run, servidor está rodando.
Também podemos refatorizar essa função de handle aqui para fora, em vez de ser aqui.
Vou fazer uma nova função aqui chamada, vamos ver page no principal, rota principal.
Vou extrair essa função aqui.
Na verdade eu já fiz, eu deveria ter extraído tudo mesmo e só pôr o nome.
Mas eu vou recortar os parâmetros e vou recortar a implementação dentro do corpo.
Em vez de funk aqui a gente chama a rota principal, o nome da função que nós criamos.
Extraímos na verdade, que vai mandar o bem-vindo.
Então quando bater no slash na barra, vai lá para chamar a função rota principal que vai mandar a mensagem bem-vindo.
Então está muito melhor a organização do código, está encapsulando cada responsabilidade individual de cada função.
E aqui nessas configuradas rotas nós podemos adicionar mais rotas, quantas você quiser e vai criando as funções.
Vamos lá testar, é concluável, esse não tem problema.
Navigador, tudo certo.
Pronto, depois dessa refatorização vamos aqui pensar em como a gente vai fazer esse nosso crud.
Então eu gostaria de ilustrar esse crud através de um exemplo de uma livraria.
Vamos supor que você tenha uma livraria que vende livros.
Vamos representar cada livro, vamos ter informações de cada livro.
Então vamos ter uma lista de livros.
Nessa lista de livros cada livro vai ter o ID, a identificação, número de identificação.
Vai ter o título do livro e o autor.
Então nós vamos criar primeiro um modelo, uma espécie de modelo para apresentar o livro.
E a maneira que a gente pode fazer na Go, na linguagem Go, é através de um struct.
Nós vamos definir o nosso próprio tipo para o livro.
É como se fosse fazer uma classe em outras linguagens para representar o livro.
E as propriedades serão ID, título e autor.
E não te vejo na próxima aula onde a gente vai começar a fazer isso. Até lá.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: