Spring Data JPA + Cache Redis
Na raiz do projeto existe o arquivo docker-compose.yml que carrega o seguinte:
- mysql 8 na porta 3306
- redis na porta 6379
- adminer para visualizar o banco de dados na porta 8081
Subindo a base do projeto, estando na raiz no projeto, execute:
$ docker-compose up -d
Após subir o banco na primeira vez, será necessário criar a database persistence
Entre no http://localhost:8081/
- UserName : root
- Password : Se encontra no application.properties
- Host : http://localhost:8081/?server=db&username=root&db=&schema=
- Clique em Create Database
- crie um schema "persistence" Ou Use suas configuracoes locais
O projeto é exposto na porta 8080
.
Para iniciar o projeto usando maven rode o seguinte comando depois de subir banco e redis.
$ mvn spring-boot:run
Swagger -> http://localhost:8080/swagger-ui.html adminer -> http://localhost:8081/
Esta request irá criar um cliente, um pedido e um produto.
POST : localhost:8080/clientes/cliente
{
"nome": "Maria",
"endereco": {
"logradouro": "Rua Z",
"numero": "10"
},
"pedidos": [
{
"descricao": "Primeiro pedido",
"data": "2020-08-20T05:47:08.644",
"produtos": [
{
"nome": "Mouse Razer",
"quantidade":2,
"valor": 10.0
}
]
}
]
}
- O portal possui vários produtos em estoque e com uma determinada quantidade em estoque de cada um desses produtos.
- Cada pedido possui um ou mais produtos e um cliente associado a esse pedido. [OK]
- Um produto pode aparecer em um ou mais pedidos. [OK]
- Cada produto possui um código, um nome, uma quantidade e um valor. [OK]
- Cada cliente possui seus dados pessoais e dados de entrega. [OK]
- Remover a implementacao CommandLineRunner no metodo main apos construir as controllers
- Criar um schema com o nome "persistence" no banco local
- Alterar usuario e senha no application.properties
DDL Mode esta para -> create-drop