Skip to content

ProfPlatini/api-produtos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API Produtos

API REST simples para gerenciamento de produtos, feita em Flask. Permite listar, criar, atualizar e apagar produtos. Os dados ficam armazenados em memória (lista Python), sem banco de dados.

Funcionalidades

  • Listar todos os produtos
  • Criar um novo produto
  • Atualizar o preço de um produto existente
  • Apagar um produto

Tecnologias

  • Python
  • Flask
  • Flask-CORS
  • Gunicorn (deploy em produção)

Pré-requisitos

  • Python 3.10+

Instalação

  1. Clone o repositório:
git clone https://github.com/ProfPlatini/api-produtos.git
cd api-produtos
  1. Crie e ative um ambiente virtual:
python -m venv .venv
source .venv/bin/activate   # Linux/Mac
.venv\Scripts\activate      # Windows
  1. Instale as dependências:
pip install -r requirements.txt

Como rodar

python app.py

A API sobe em http://localhost:8000.

Endpoints

GET /listar

Retorna todos os produtos cadastrados.

Resposta:

[
  { "id": 1, "nome": "Notebook Gamer", "preco": 4000 },
  { "id": 2, "nome": "Cadeira Gamer", "preco": 300 },
  { "id": 3, "nome": "Monitor", "preco": 500 }
]

POST /criar

Cria um novo produto.

Corpo da requisição:

{
  "id": 4,
  "nome": "Teclado Mecânico",
  "preco": 250
}

Resposta (201):

{
  "id": 4,
  "nome": "Teclado Mecânico",
  "preco": 250
}

PUT /atualizar/{id}

Atualiza o preço de um produto pelo id.

Corpo da requisição:

{
  "preco": 280
}

Resposta:

{
  "preco": 280
}

Se o id não existir, retorna 404:

{
  "mensagem": "ID não encontrado"
}

DELETE /apagar/{id}

Remove um produto pelo id.

Resposta:

{
  "mensagem": "Produto removido!"
}

Se o id não existir, retorna 404:

{
  "mensagem": "ID não encontrado"
}

Observações

  • Os produtos ficam apenas em memória: ao reiniciar a aplicação, a lista volta ao estado inicial (Notebook Gamer, Cadeira Gamer, Monitor).
  • Não há persistência em banco de dados nesta versão.

Deploy

O projeto já inclui gunicorn nas dependências, pronto para deploy em serviços como o Render.

Exemplo de start command:

gunicorn app:app

Estrutura do projeto

api-produtos/
├── app.py              # API Flask com as rotas de produtos
├── requirements.txt    # Dependências do projeto
└── .gitignore

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages