API REST desenvolvida com Spring Boot para gerenciamento de produtos e categorias.
- Sobre o Projeto
- Tecnologias Utilizadas
- Estrutura do Projeto
- Endpoints Principais
- Como Executar
- Testes
Este projeto tem como objetivo fornecer uma API para cadastro, consulta, atualização e remoção de produtos e categorias. Ele segue boas práticas de arquitetura, utilizando camadas bem definidas (Controller, Service, Repository, Model e DTO).
- Java 17+
- Spring Boot
- Spring Data JPA
- Lombok
- Maven
- H2, MySQL ou outro banco relacional (configurável)
src/
main/
java/
br/com/cpm/api/
CpmApiApplication.java
controller/
CategoriaController.java
ProdutoController.java
dto/
ProdutoDTO.java
model/
Categoria.java
Produto.java
repository/
CategoriaRepository.java
ProdutoRepository.java
service/
CategoriaService.java
ProdutoService.java
resources/
application.properties
test/
java/
br/com/cpm/api/
CpmApiApplicationTests.java
GET /categorias— Lista todas as categoriasGET /categorias/{id}— Busca categoria por IDPOST /categorias— Cria uma nova categoriaPUT /categorias/{id}— Atualiza uma categoria existenteDELETE /categorias/{id}— Remove uma categoria
GET /produtos— Lista todos os produtos (retorna DTO)GET /produtos/{id}— Busca produto por ID (retorna DTO)POST /produtos— Cria um novo produtoPUT /produtos/{id}— Atualiza um produto existenteDELETE /produtos/{id}— Remove um produto
- Clone o repositório
- Configure o banco de dados em
src/main/resources/application.properties - Execute o comando:
ou
./mvn spring-boot:runmvn.cmd spring-boot:run - Acesse os endpoints via Postman, Insomnia ou outro cliente HTTP
O projeto possui teste de inicialização em CpmApiApplicationTests.java. Para rodar os testes:
./mvn test
Projeto desenvolvido por Cleyton Melo.
Sinta-se à vontade para contribuir ou sugerir melhorias!