Bootcamp Spring - Capítulo 01
Bootcamp Spring - Capítulo 01
Bootcamp Spring - Capítulo 01
br
Competências
● Criar projeto Spring Boot
● Criar monorepo Git
● Organizar o projeto em camadas
○ Controlador REST
○ Serviço
○ Acesso a dados (Repository)
● Criar entidades
● Configurar perfil de teste do projeto
● Seeding da base de dados
● Criar web services REST
○ Parâmetros de rota @PathVariable
○ Parâmetros de requisição @RequestParam
○ Corpo de requisição @RequestBody
○ Resposta da requisição ResponseEntity<T>
● Padrão DTO
● CRUD completo
● Tratamento de exceções
● Postman (coleções, ambientes)
● Dados de auditoria
● Paginação de dados
● Associações entre entidades (N-N)
Vídeos auxiliares
Conceitos sobre desenvolvimento web e REST
https://www.youtube.com/watch?v=b8uLFfzcVQ8
https://www.youtube.com/watch?v=PfYifUFmXk8
Github do DSCatalog
https://github.com/devsuperior/dscatalog-resources
Figma do DSCatalog
https://www.figma.com/file/1n0aifcfatWv9ozp16XCrq/DSCatalog-Bootcamp
Enunciado
Você deverá entregar um projeto Spring Boot 2.4.x ou superior 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 11 ou 17 como linguagem.
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.).
Atenção: crie um novo projeto para este trabalho. Não é para simplesmente
acrescentar a classe Client no DSCatalog feitos nas aulas.
Atenção: cuidado para não salvar no seu projeto arquivos e pastas que não devem ser
salvas no Git, tais como a pasta .metadata do Eclipse.
https://devsuperior.com.br
1) Importação do projeto
O professor deverá ser capaz de fazer um simples clone do projeto Github, e importar e
executar o mesmo no STS sem necessidade de qualquer configuração especial diferente
daquelas das aulas.
Atualização de cliente
PUT /clients/1
{
"name": "Maria Silvaaa",
"cpf": "12345678901",
"income": 6500.0,
"birthDate": "1994-07-20T10:30:00Z",
"children": 2
}
https://devsuperior.com.br
Deleção de cliente
DELETE /clients/1
Collection do Postman
https://www.getpostman.com/collections/8f7f24addf4ecba59fc1