O projeto "Rest com Spring Boot e Java" é uma aplicação pessoal, que está em constante evolução, desenvolvida com o objetivo de aplicar e demonstrar a implementação de APIs RESTful utilizando o Spring Boot e a linguagem de programação Java. Este projeto, serve como um laboratório prático para explorar os fundamentos e as melhores práticas na criação de APIs RESTful.
O projeto inclui as seguintes funcionalidades principais:
- Operações CRUD (Criar, Ler, Atualizar, Excluir) para entidades de usuários e livros, explorando os conceitos fundamentais de manipulação de dados.
- Validação dos dados de entrada utilizando anotações do Spring, visando garantir a integridade e consistência dos dados.
- Paginação e ordenação dos resultados retornados pela API, para uma experiência de usuário mais eficiente em APIs com grandes volumes de dados.
- Tratamento personalizado de exceções, para lidar com erros de forma elegante e consistente na aplicação Spring Boot.
- Autenticação e autorização de usuários utilizando JSON Web Tokens (JWT), garantindo a segurança e autenticidade das requisições na API.
- Testes unitários e de integração para as funcionalidades principais, assegurando a qualidade e robustez do código.
O projeto utiliza um conjunto abrangente de tecnologias, incluindo:
- Java 18
- Spring Boot 3
- Spring Data JPA
- Spring Security
- Hibernate
- Banco de dados MySQL
- Flyway
- Swagger Open API
- Maven
- JSON Web Tokens (JWT)
- JUnit 5
- Mockito
- REST Assured
- Testcontainers
- Docker
- AWS
- Front-end com React
Para executar o projeto em seu ambiente local, siga as etapas abaixo:
- Certifique-se de ter o Java e o Maven instalados em sua máquina.
- Clone este repositório para o seu ambiente local.
- Configure as informações do banco de dados MySQL no arquivo
application.properties
. - Execute o comando
mvn clean install
na raiz do projeto para baixar as dependências e compilar o código. - Execute o comando
mvn spring-boot:run
para iniciar a aplicação.
Após seguir essas etapas, a aplicação estará disponível em http://localhost:8080
.
A documentação completa da API, incluindo os endpoints disponíveis e exemplos de uso, pode ser encontrada em Swagger UI após iniciar a aplicação. Lá você encontrará informações detalhadas sobre como interagir com a API, incluindo exemplos de solicitações e respostas para os endpoints mais comuns.
Este projeto é desenvolvido como um laboratório pessoal para aplicar e explorar conceitos de desenvolvimento de APIs RESTful com Spring Boot e Java.
Gabriel Carvalho