Uma API RESTful desenvolvida com Spring Boot para gerenciamento de produtos. Essa aplicação foi projetada para operações básicas de CRUD (Create, Read, Update e Delete) utilizando Java 21, banco de dados MySQL e as melhores práticas do Spring Framework.
Essa API permite:
- Criar novos produtos no sistema.
- Buscar todos os produtos ou um produto específico por ID.
- Atualizar total ou parcialmente produtos existentes.
- Excluir produtos do banco de dados.
Foi implementada usando Spring Data JPA para abstrair as operações de banco de dados e um banco persistente MySQL. A API é totalmente documentada no arquivo README e no Swagger.
- Java 21: Certifique-se de que está instalado e configurado no ambiente.
- Maven: Necessário para gerenciar dependências e executar o projeto.
- IDE recomendada: IntelliJ IDEA (opcional, mas recomendado para melhor produtividade).
-
Clone o repositório:
git clone https://github.com/FelipeRibeir0/ApiSpringBoot.git cd ApiSpringBoot
-
Execute o projeto:
mvn spring-boot:run
-
A API estará disponível em:
http://localhost:8080
-
Para acessar o console do banco de dados MySQL:
mysql -u testeUsuarios -p
- Usuário:
testeUsuarios
- Senha: (deixe vazio)
- Usuário:
Este projeto disponibiliza uma API que pode ser acessada e testada diretamente através da documentação gerada pelo Swagger.
Após rodar a aplicação, a documentação do Swagger estará disponível na seguinte URL: Swagger
- Certifique-se de que o projeto está rodando localmente ou em um ambiente de desenvolvimento.
- Abra seu navegador e acesse a URL: http://localhost:8080/documentacao
- Você verá a interface gráfica do Swagger UI, onde poderá explorar todos os endpoints da API e fazer chamadas de teste diretamente pela interface.
Método | Endpoint | Descrição |
---|---|---|
GET | /produtos | Retorna a lista de todos os produtos. Aceita um parâmetro opcional de busca por nome. |
GET | /produtos/{id} | Retorna os detalhes de um produto específico pelo ID. |
POST | /produtos | Cria um novo produto no sistema. |
PUT | /produtos/{id} | Atualiza completamente as informações de um produto existente. |
PATCH | /produtos/{id} | Atualiza parcialmente as informações de um produto existente. |
DELETE | /produtos/{id} | Exclui um produto do sistema pelo ID. |
- Spring Boot: Framework principal da aplicação.
- Spring Data JPA: Gerenciamento de dados usando ORM.
- Banco de Dados MySQL: Banco de dados persistente.
- Java 21: Linguagem utilizada.
src
├── main/
│ ├── 📂 java/com/firstAPI/
│ │ ├── 📂 Controller [Definições de rotas e lógica básica da API]
│ │ ├── 📂 Service [Regras de negócio e validações]
│ │ ├── 📂 Model [Modelos de dados (Entidades)]
│ │ ├── 📂 Repository [Repositórios para abstração de acesso ao banco de dados]
│ └── 📂 resources/
│ └── 📂 static/
Esta API foi desenvolvida como um exemplo prático para quem está aprendendo Spring Boot. Ela é simples, funcional e facilmente extensível.
Possíveis melhorias futuras:
- 🔒 Adicionar autenticação com JWT.
- 🧪 Adicionar testes unitários e de integração.