Digital Innovation: Expert class - Desenvolvendo um sistema de gerenciamento de pessoas em API REST com Spring Boot
Um pequeno sistema para o gerenciamento de pessoas de uma empresa através de uma API REST, criada com o Spring Boot.
Foram abordados os seguintes tópicos:
- Setup inicial de projeto com o Spring Boot Initialzr
- Criação de modelo de dados para o mapeamento de entidades em bancos de dados
- Desenvolvimento de operações de gerenciamento de usuários (Cadastro, leitura, atualização e remoção de pessoas de um sistema).
- Relação de cada uma das operações acima com o padrão arquitetural REST, e a explicação de cada um dos conceitos REST envolvidos durante o desenvolvimento do projeto.
- Desenvolvimento de testes unitários para validação das funcionalidades
- Implantação do sistema na nuvem através do Heroku
Teste se o servidor está ativo na url: https://api-rest-people.herokuapp.com/api/v1/people/test
URL da API REST: https://api-rest-people.herokuapp.com/api/v1/people/
Exemplo de objeto JSON
{
"firstName":"Horlando",
"lastName":"Peleias",
"cpf":"710.921.264-57",
"phones":[
{
"type":"MOBILE",
"number":"(81)980808080"
},
{
"type":"MOBILE",
"number":"(81)910101010"
},
{
"type":"MOBILE",
"number":"(81)920202020"
}
]
}
https://api-rest-people.herokuapp.com/api/v1/people/{var}
exemplos:
https://api-rest-people.herokuapp.com/api/v1/people/1
https://api-rest-people.herokuapp.com/api/v1/people/2
Na atualização é necessario colocar variável na url da requisição igual a variável no atributo id do corpo da requisição
https://api-rest-people.herokuapp.com/api/v1/people/{var}
{
"id":{var},
"firstName":"Horlando",
"lastName":"Peleias",
"cpf":"710.921.264-57",
"phones":[
{
"type":"MOBILE",
"number":"(81)980808080"
},
{
"type":"MOBILE",
"number":"(81)910101010"
},
{
"type":"MOBILE",
"number":"(81)920202020"
}
]
}
https://api-rest-people.herokuapp.com/api/v1/people/<var>
exemplos:
https://api-rest-people.herokuapp.com/api/v1/people/1
https://api-rest-people.herokuapp.com/api/v1/people/2
mvn spring-boot:run
Após executar o comando acima, basta apenas abrir o seguinte endereço e visualizar a execução do projeto:
http://localhost:8080/api/v1/people
São necessários os seguintes pré-requisitos para a execução do projeto desenvolvido durante a aula:
- Java 11 ou versões superiores.
- Maven 3.6.3 ou versões superiores.
- Intellj IDEA Community Edition ou sua IDE favorita.
- Controle de versão GIT instalado na sua máquina.
- Conta no GitHub para o armazenamento do seu projeto na nuvem.
- Conta no Heroku para o deploy do projeto na nuvem
- Muita vontade de aprender e compartilhar conhecimento :)
Abaixo, seguem links bem bacanas, sobre tópicos mencionados durante a aula:
- SDKMan! para gerenciamento e instalação do Java e Maven
- Referência do Intellij IDEA Community, para download
- Palheta de atalhos de comandos do Intellij
- Site oficial do Spring
- Site oficial do Spring Initialzr, para setup do projeto
- Site oficial do Heroku
- Site oficial do GIT
- Site oficial do GitHub
- Documentação oficial do Lombok
- Documentação oficial do Map Struct
- Referência para o padrão arquitetural REST
Neste link, seguem os slides apresentados como o roteiro utilizado para o desenvolvimento do projeto da nossa sessão.