Você deverá entregar um projeto Spring Boot contendo um CRUD completo de web services REST para acessar um recurso de clientes, contendo as cinco operações básicas aprendidas no capítulo:
- Busca paginada de recursos
- Busca de recurso por id
- Inserir novo recurso
- Atualizar recurso
- Deletar recurso
O projeto deverá estar com um ambiente de testes configurado acessando o banco de dados H2, deverá usar Maven como gerenciador de dependência, e Java como linguagem.
Um cliente possui nome, CPF, renda, data de nascimento, e quantidade de filhos. A especificação da entidade Client é mostrada a seguir (você deve seguir à risca os nomes de classe e atributos mostrados no diagrama):
Seu projeto deverá fazer um seed de pelo menos 10 clientes com dados SIGNIFICATIVOS (não é para usar dados sem significado como “Nome 1”, “Nome 2”, etc.).
Seu projeto deverá tratar as seguintes exceções:
- Id não encontrado (para GET por id, PUT e DELETE), retornando código 404.
- Erro de validação, retornando código 422 e mensagens customizada para cada campo inválido. As regras de validação são:
- Nome: não pode ser vazio
- Data de nascimento: não pode ser data futura (dica: use @PastOrPresent)
CHECKLIST:
- Busca por id retorna cliente existente
- Busca por id retorna 404 para cliente inexistente
- Busca paginada retorna listagem paginada corretamente
- Inserção de cliente insere cliente com dados válidos
- Inserção de cliente retorna 422 e mensagens customizadas com dados inválidos
- Atualização de cliente atualiza cliente com dados válidos
- Atualização de cliente retorna 404 para cliente inexistente
- Atualização de cliente retorna 422 e mensagens customizadas com dados inválidos
- Deleção de cliente deleta cliente existente
- Deleção de cliente retorna 404 para cliente inexistente
Video tutorial aqui
Para testar localmente você deve ter instalados em sua máquina:
O Windows 10 já possui um programa padrão para visualizar arquivos compactados. Caso seu sistema operacional seja anterior ao Windos 10, realize o passo abaixo:
Para visualizar o projeto você precisará extrair os arquivos através de um programa para arquivos compactados.
Recomendo Winrar, baixe a versão 32x ou 64x, de acordo com seu sistema.
Link para download: https://www.win-rar.com/download.html
Este será utilizado para executar a aplicação. Recomendo STS (Spring Tool Suit) ou IntelliJ Community
Caso você não tenha instalado e configurado em sua máquina, instale da seguinte maneira: Instalar Java JDK 17
Nesta página, clique no botão Code, depois em Download ZIP e salve o arquivo.
Extrair arquivos: Abra a pasta onde o arquivo foi salvo.
Clique com o botão direito sobre o arquivo e selecione Extrair Tudo.
As informações foram extraídas para a pasta Mod8_Desafio3-main.
Clique com o botão direito sobre o arquivo e selecione Extrair Aqui (Extract Here).
As informações foram extraídas para a pasta Mod8_Desafio3-main.
Clique em File, Import, Maven, Existing Maven Projects, Next...
Selecione a pasta onde você salvou o projeto, Finish
Aguarde a importação do projeto (acompanhe a barra de carregamento no canto inferior direito).
Clique em Open, selecione a pasta onde você salvou o projeto, Ok...
Caso apareça a tela abaixo, selecione Maven Project...
Aguarde a importação do projeto (acompanhe a barra de carregamento no canto inferior direito).
No menu Boot Dashboard, clique com botão direito em desafio3, (Re)start e aguarde o programa ser iniciado...
Neste mesmo menu, a indicação de em execução é uma seta verde para cima
No menu Console, pode-se ver o tempo de inicialização e a indicação de processo rodando...
Acesse Mod8_Desafio3-main > src > main > java > Desafio3Application, clique com botão direito e clique em Run 'Sistema...' e aguarde o programa ser iniciado...
No menu Run, pode-se ver o tempo de inicialização e a indicação de processo rodando...
Acesse o H2 DataBase com o link http://localhost:8080/h2-console
Informações de acesso:
- Driver Class: org.h2.Driver
- JDBC URL: jdbc:h2:mem:testdb
- User Name: sa
- Senha:
As tabelas que foram criadas podem ser vistas no lado esquerdo. Neste caso é apenas a de Client
Para ver o seed de dados, selecione a tabela e clique em Run. O retorno da consulta aparece logo abaixo.
Se não houver a opção Extrair Tudo, significa que não há programa instalado para manipulação de arquivos compactados. Neste cado, seguir com o passo Pré-requisitos para testes locais.
Após o término da importação, pode ocorrer do IntelliJ não localizar o JDK, neste caso, vá em File, Settings, pesquise por JDK, selecione Importing e em JDK for importer selecione seu JDK. Aplique (Apply) e Ok.
Caso você não tenha o JDK instalado, siga com o passo Pré-requisitos para testes locais - Java JDK.
Após os arquivos serem carregados, pode acontecer de aparecer um X ou um ! vermelho. Caso isso ocorra, tente as soluções deste tutorial: https://www.youtube.com/watch?v=Je4JWWJcyo0
Me envie uma mensagem no WhatsApp
Este projeto foi desenvolvido durante o curso Formação Desenvolvedor Moderno da escola DevSuperior, sobe orientação do tutor Nelio Alves.