Repositório com exercícios e códigos desenvolvidos durante o estudo de Spring Boot, contendo APIs REST, persistência de dados com JPA e exemplos de manipulação de requisições HTTP.
Este projeto contém uma aplicação Spring Boot desenvolvida como parte do curso Cod3r | Java 2022 Completo. Os códigos incluem exemplos práticos de APIs REST, CRUD de produtos com persistência em MySQL, manipulação de diferentes verbos HTTP, calculadora via endpoints e gerenciamento de clientes com parâmetros de URL.
- ProductManager - CRUD completo de produtos com endpoints REST (listar, buscar por ID, criar/atualizar, deletar, buscar por nome)
- ClientManager - Endpoints de clientes demonstrando
@PathVariablee@RequestParam - CalculatorManager - Calculadora via API com operações de adição e subtração
- HttpManager - Demonstração dos métodos HTTP (GET, POST, PUT, PATCH, DELETE)
- Product - Entidade de produto com id, nome, preço e desconto (validações com Bean Validation)
- Client - Entidade de cliente com id, nome e CPF
- DataAccessProduct - Interface JPA para persistência de produtos com busca por nome
- form-page.html - Página HTML para teste de requisições POST
- application.properties - Configuração do banco de dados MySQL e JPA
LICENSE
README.md
pom.xml
konan.png
src/
├── main/
│ ├── java/br/com/otogamidev/konan/
│ │ ├── KonanApplication.java # Classe principal Spring Boot
│ │ ├── controller/
│ │ │ ├── ProductManager.java # API REST de produtos
│ │ │ ├── ClientManager.java # API REST de clientes
│ │ │ ├── CalculatorManager.java # API de calculadora
│ │ │ └── HttpManager.java # Demonstração métodos HTTP
│ │ └── model/
│ │ ├── entities/
│ │ │ ├── Product.java # Entidade Produto
│ │ │ └── Client.java # Entidade Cliente
│ │ └── repositories/
│ │ └── DataAccessProduct.java # Repositório JPA
│ └── resources/
│ ├── application.properties # Configurações da aplicação
│ └── static/
│ └── form-page.html # Página de teste
└── test/
└── java/br/com/otogamidev/konan/
└── TestKonanApplication.java # Teste da aplicação
- Java 17 - Linguagem de programação
- Spring Boot 3.0 - Framework para aplicações Java
- Spring Web - API REST e endpoints HTTP
- Spring Data JPA - Persistência de dados com Hibernate
- Spring Validation - Validação de beans (Bean Validation)
- MySQL - Banco de dados relacional
- Maven - Gerenciamento de dependências e build
- GET
/api/products- Lista todos os produtos - GET
/api/products/{id}- Busca produto por ID - GET
/api/products/name/{contains}- Busca produtos por nome - POST
/api/products- Cria novo produto - PUT
/api/products- Atualiza produto existente - DELETE
/api/products/{id}- Remove produto
- GET
/clients- Cliente por parâmetro?id= - GET
/clients/{id}- Cliente por ID na URL - GET
/clients/whatever- Retorna cliente de exemplo
- GET
/calculator/add/{firstNumber}/{secondNumber}- Soma - GET
/calculator/subtract?firstNumber=&secondNumber=- Subtração
- GET, POST, PUT, PATCH, DELETE - Demonstração de cada verbo
- Java 17 ou superior
- Maven 3.6+
- MySQL em execução (porta 3306)
- Crie o banco de dados no MySQL:
CREATE DATABASE konan;- Configure as credenciais em
src/main/resources/application.properties:
spring.datasource.username=root
spring.datasource.password=sua_senha# Clonar o repositório
git clone https://github.com/henriqueotogami/konan.git
cd konan
# Executar com Maven
./mvnw spring-boot:run
# Ou compilar e executar o JAR
./mvnw clean package
java -jar target/konan-0.0.1-SNAPSHOT.jarA aplicação estará disponível em: http://localhost:8080
- ✅ Configuração de projeto Spring Boot
- ✅ Criação de APIs REST com
@RestController - ✅ Mapeamento de URLs com
@RequestMapping,@GetMapping, etc. - ✅ Parâmetros de requisição (
@PathVariable,@RequestParam) - ✅ Persistência com Spring Data JPA e MySQL
- ✅ Validação de dados com Bean Validation
- ✅ Entidades e repositórios JPA
- ✅ Diferentes verbos HTTP (GET, POST, PUT, PATCH, DELETE)
- O
ProductManagerexpõe endpoints REST em/api/products - Requisições são recebidas e processadas pelo Spring MVC
- O
DataAccessProduct(CrudRepository) persiste no MySQL via JPA - A entidade
Productpossui validações: nome obrigatório, preço ≥ 0, desconto entre 0 e 1 - A busca por nome usa
findByNameContainsIgnoreCase(case insensitive)
spring.jpa.hibernate.ddl-auto=update- Schema atualizado automaticamente- Banco
konan- Certifique-se de criá-lo antes de executar
MacOS Monterey - Versão 12.6
IntelliJ IDEA Community Edition 2022.2
- Atom Material Icons
- Codota AI Autocomplete for Java
- GitToolBox
- Nyan Progress Bar
- Rainbow Brackets
- Wakatime
- Xcode-Dark Theme
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.
- Cod3r | Java 2022 Completo - Curso de referência
- Documentação Spring Boot
- Spring Data JPA
- Faça um fork deste repositório (https://github.com/henriqueotogami/konan/fork)
- Crie um branch para adicionar as suas modificações
git checkout -b meu-novo-recurso - Faça um commit
git commit -am 'feature: Adicionando um novo recurso ...' - Faça um push
git push origin meu-novo-recurso - Crie uma nova pull request neste repositório
Depois que sua solicitação (pull request) for aceita e adicionada (merged) ao ramo principal (branch main), você pode excluir sua branch tranquilamente.
#SpringBoot #Java #RESTAPI #JPA #MySQL #Maven #Backend #WebDevelopment #OpenSource #GitHub #CodeExamples #LearningJava
Spring Boot, Java, API REST, JPA, MySQL, Maven, CRUD, backend,
persistência de dados, Bean Validation, Spring Data, demonstração HTTP,
aprender Spring, código exemplo, Henrique Matheus, otogamidev
