Uma API para gerenciamento de produtos, construída com Java 17, Spring Boot, Docker, MySQL e Swagger.
-
A ProductApp API permite:
-
Cadastrar novos produtos
-
Listar todos os produtos
-
Buscar produtos por nome
-
Recuperar um produto pelo ID
Note
A documentação da API pode ser acessada via Swagger UI.
-
Java 17 🏗️
-
Spring Boot 🚀
-
MySQL 🗄️
-
Docker 🐳
-
Swagger 📜
-
Java 17 JDK
-
Docker e Docker Compose
-
MySQL (ou utilize a versão Dockerizada)
-
Maven (para compilar o projeto)
git clone https://github.com/FeKom/ProductApp.git
cd ProductApp
mvn clean install
docker-compose up --build
A API estará disponível em: http://localhost:4000
Warning
Se os containers já estiverem em execução, essa ação pode sobrescrevê-los.
{
"title": "Product Name",
"price": 19.99,
"review": 5
}
curl -X 'POST' \
'http://localhost:4000/product' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"title": "Product Name",
"price": 19.99,
"review": 5
}'
curl -X 'GET' \
'http://localhost:4000/product' \
-H 'accept: */*'
Substitua {id} pelo ID do produto.
curl -X 'GET' \
'http://localhost:4000/product/1' \
-H 'accept: */*'
Substitua {name} pelo nome do produto.
curl -X 'GET' \
'http://localhost:4000/product/search/Product%20Name' \
-H 'accept: */*'
-
Swagger UI: http://localhost:4000/swagger-ui.html
-
OpenAPI JSON: http://localhost:4000/v3/api-docs
A aplicação utiliza MySQL como banco de dados. O arquivo docker-compose.yml configura um container MySQL com as seguintes credenciais padrão:
-
Banco de Dados:
productdb -
Usuário:
root -
Senha:
password
Caution
Antes de implantar em produção, altere essas credenciais no arquivo application.yml.