Na sexta-feira nos encontramos para um projeto prático de Spring: no caso, a construção de uma pequena API sobre a qual vamos explorar diversos aspectos do framework.
Vimos:
- A diferença entre o Spring Framework e Spring Boot.
- Como criar um projeto com Spring Boot.
- Bem por alto como é feito o mapeamento de entidades do banco de dados usando Spring Data.
- Escrevemos nossos primeiros endpoints.
- Também vimos bem por alto como operam os repositories do Spring Data.
- Como configurar o projeto.
E ao final, foi disponibilizado para o grupo um repositório com o código fonte gerado no GitHub, que pode ser acessado neste link: GitHub - itexto/grupo-spring-3
Desta vez será um pouco diferente o que faremos: o projeto, como combinamos está semi pronto. Minha parte do jogo foi feita, agora a bola está com vocês: seguem alguns exercícios para que vocês treinem.
Exercícios
- Temos mapeada apenas a tarefa em nosso gerenciador de projetos. Crie uma nova entidade chamada Projeto e associe-a a esta. Vá além: enriqueça o projeto criando endpoints de CRUD para esta entidade. Aproveite e também implemente endpoints que retornem quais as tarefas presentes em um Projeto.
- Vamos enriquecer o endpoint de busca de tarefas? Implemente a busca por nome e projeto. Como você faria?
- Dá pra melhorar este projeto? Busque falhas no código que escrevi e resolva-as. Justifique suas ações.
Executando o código de exemplo
Você precisa ter o Docker com Docker Compose instalado em seu computador para que tenha máxima produtividade. Para tal, usando a interface de linha de comando do seu sistema operacional execute o comando a seguir:
docker-compose up -d
O projeto já está configurado para acessar esta configuração, sendo assim você não precisará fazer nada além disto. Para saber qual a configuração disponibilizada, confira o arquivo docker/docker-compose.yml presente no projeto.
Como me enviar seus exercícios
Faça o pull request no repositório acima listado e me avise pelo Discord pois nem sempre leio estes e-mails. Aí nós podemos discutir juntos em nosso próximo encontro ou, se bobear, até antes, o que me diz?
Links para aprender mais
- Spring Initializer - para você criar seu spróprios projetos baseados em Spring Boot - https://start.spring.io
- Documentação do projeto Spring Data para JPA, que usamos no projeto - Spring Data JPA - Reference Documentation
- Como funciona a configuração do Spring Boot - Entenda as configurações do Spring Boot! - /dev/Kico