From 247b2f4576b69509849ec5708536e734b848a2b2 Mon Sep 17 00:00:00 2001 From: Joao Date: Fri, 15 May 2026 22:12:23 -0300 Subject: [PATCH] =?UTF-8?q?Conex=C3=A3o=20com=20banco?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apirest/__pycache__/db.cpython-311.pyc | Bin 0 -> 904 bytes apirest/app.py | 14 ++++++++++++++ apirest/db.py | 17 +++++++++++++++++ apirest/scripts.sql | 16 ++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 apirest/__pycache__/db.cpython-311.pyc create mode 100644 apirest/db.py create mode 100644 apirest/scripts.sql diff --git a/apirest/__pycache__/db.cpython-311.pyc b/apirest/__pycache__/db.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..257bc86e781048c1842db643972a270bf8b26cd7 GIT binary patch literal 904 zcma)4&1(}u6rb7bN8)x(<3~jgLMuJ&rP$yHN>!>Ucrgh{ix?KeCbP7SNhZ#0mE0oq z*n0l|~ENIdl*zS(3`f(Us#^PAs${N9^4JM+=9&LFVC7o+kV zBlJT$p($fBTmy252qL(O3ZoSl6!4X5q^1^Bj1=UlZBQMBxdrXZU zlFj5cZB3{0*6;~o>yhRgYD%7};(*LO=U_k`M@%m5i8Sr-7EW)31du! zLb=elJ$X5w&`|bsa`Vw$XA4SlXZ3dS#`WYaC*|=MK5aNzMz?bw@puxVtB%{)Wghn( zQd(&=#aXCQ9GBgtb#@7A$!p>zfEMbT^9K*UnM+^IrM?wEc=op0u@<}5;$F0O^{}F2Xjp&d$Li;=zGeCg){w8P!LR zkjY0Ew8t(;CKK5Lz)5tiM#)~)yU(tGE8h{%0t_M;;~t8&g0F`bj>FMISC6O1cVxEA SH`cz@vIeSwp|^h_*zqqc5yKJy literal 0 HcmV?d00001 diff --git a/apirest/app.py b/apirest/app.py index 2e4e94f..1625198 100644 --- a/apirest/app.py +++ b/apirest/app.py @@ -2,6 +2,7 @@ from flask import Flask, jsonify, request from flask_cors import CORS import os from dotenv import load_dotenv +from db import get_connection #Carrega arquivo de variáveis de ambiente (.env) load_dotenv() @@ -19,6 +20,19 @@ CORS(app) def health(): return jsonify({"message" : "API Flask version 1.0!!!"}) +@app.route("/produtos",methods=["GET"]) +def listar_produtos(): + conexao = get_connection() + cursor = conexao.cursor(dictionary=True) + + cursor.execute("select * from produto") + produtos = cursor.fetchall() + + cursor.close() + conexao.close() + + return jsonify(produtos) + #Inicializa o servidor da APIRest if __name__ == "__main__": app.run(port=PORT, debug=True) \ No newline at end of file diff --git a/apirest/db.py b/apirest/db.py new file mode 100644 index 0000000..2eb1008 --- /dev/null +++ b/apirest/db.py @@ -0,0 +1,17 @@ +import os +import mysql.connector +from dotenv import load_dotenv + +load_dotenv() + +def get_connection(): + return mysql.connector.connect( + host=os.getenv("DB_HOST"), + user=os.getenv("DB_USER"), + password=os.getenv("DB_PASSWORD"), + database=os.getenv("DB_NAME"), + port=os.getenv("DB_PORT") + ) + + + diff --git a/apirest/scripts.sql b/apirest/scripts.sql new file mode 100644 index 0000000..19253e6 --- /dev/null +++ b/apirest/scripts.sql @@ -0,0 +1,16 @@ +#Criar tabela produto +create table produto ( + id int auto_increment primary key, + nome varchar(100) not null, + preco decimal(10,2) not null, + estoque int not null +); + +#Carga incial do banco +insert into produto (nome,preco,estoque) +values ('Bola',12.50,10); +insert into produto (nome,preco,estoque) +values ('PS5',3950.50,5); + +#Exemplo de consulta +#select * from produto;