Tecnologias | Projeto | Licença
Esses códigos foram desenvolvidos com as seguintes tecnologias:
🚀 O repositório tem como propósito compartilhar o conhecimento absorvido e os códigos desenvolvidos nos cursos Spring Boot API Rest: Construa uma API e Spring Boot API Rest: Segurança da API, Cache e Monitoramento proporcionado pela Alura.
⚡️ Criei resumos e anotações no Notion das partes relevantes com a minha visão de aluno. Clique aqui para conferir.
☕ O Spring boot é um framework para Java bastante popular que pode ser utilizado tanto para a construção de aplicações web tradicionais, ou APIs REST, que são muito utilizadas no modelo de arquitetura de micro serviços.
👾 O propósito foi montar a API REST, baseada no modelo de fórum da Alura.
- ✨ Na versão 1 da API, o foco foi construir as lógicas e endpoints para listar os tópicos que foram cadastrados, cadastrar novos tópicos, atualizar, excluir, basicamente fazer o "CRUD", testando com o Postman.
- Validação com Bean Validation, personalizamos as mensagens de erro com o Controller Advice do Spring, e o acesso ao banco de dados, usando os Repositorys do Spring Boot Data JPA e MySQL.
- ✨ Na versão 2 da API, implementamos novos recursos:
- Configuramos a parte de paginação para listar os tópicos;
- Utilizamos cache para melhorar desempenho;
- Implementamos o módulo de segurança e a parte da autenticação, utilizando JSON Web Token. Todos os endpoints que precisam de autenticação temos que mandar o token do authorization no cabeçalho.
- Utilizamos o Spring Boot Admin para fazer a parte do monitoramento;
- Concluímos com a parte de documentação, com o Swagger, ele imprime todos os controllers, cada um dos endpoints, conseguimos testar por aqui também, simular todos os testes.
- Documentação do Swagger UI via
http://localhost:8080/api/v2/swagger-ui.html/. - No endpoint
/authvocê gera o token utilizando os parâmetrosaluno@email.come123456.
- Documentação do Swagger UI via
💙 Caso queria testar localmente:
git clone https://github.com/brunoliveiradev/SpringBoot-API-Rest-Alura
📫 Espero que goste, qualquer dúvida ou sugestão me encontro a disposição! LinkedIn
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Códigos feitos com ♥ by Bruno Oliveira! LinkedIn. 💙