diff --git a/apirest/app.py b/apirest/app.py index dd94bc1..f3a705c 100644 --- a/apirest/app.py +++ b/apirest/app.py @@ -4,23 +4,30 @@ import os from dotenv import load_dotenv from db import get_connection +#Carrega arquivo de variáveis de ambiente (.env) load_dotenv() - +#Carrega variável de ambiente PORT. Essa variável contém a porta TCP utilizada na APIREST PORT = os.getenv("PORT") +#Cria objeto Flask. Esse objeto é necessário para utilização do FLASK +#(módulo python para criação de APIs REST). app = Flask(__name__) +#Aplica cors no objeto Flask CORS(app) +#Criar rota de saúde da aplicação @app.route("/health") 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") + cursor.execute("select * from produto") produtos = cursor.fetchall() cursor.close() @@ -28,6 +35,8 @@ def listar_produtos(): return jsonify(produtos) +#============================================================= + @app.route("/produtos/", methods=["GET"]) def listar_produto_id(id): conexao = get_connection() @@ -40,23 +49,31 @@ def listar_produto_id(id): conexao.close() if produto is None: - return jsonify({"erro" : "Produto nao encontrado"}), 404 - + return jsonify({"erro" : "Produto não encontrado"}), 404 + return jsonify(produto) -@app.route("/proddutos",methods=["POST"]) -def criar_produto(): - dados = request.get_jason() +#============================================================= + +@app.route("/produtos",methods=["POST"]) +def criar_produto(): + dados = request.get_json() nome = dados.get("nome") preco = dados.get("preco") estoque = dados.get("estoque") - - if nome is None or preco is None or estoque is None - return jsonify({"erro" : "Produto invalido"}), 400 - + if nome is None or preco is None or estoque is None: + return jsonify({"erro" : "Produto inválido"}), 400 conexao = get_connection() cursor = conexao.cursor() + sql = "insert into produto (nome, preco, estoque) values (%s, %s, %s)" + cursor.execute(sql,(nome, preco, estoque)) + conexao.commit() + novo_id = cursor.lastrowid + cursor.close() + conexao.close() + return jsonify({"id" : novo_id, "nome": nome, "preco" : preco, "estoque" : estoque}), 201 +#Inicializa o servidor da APIRest if __name__ == "__main__": - app.run(port=PORT, debug=True) + app.run(port=PORT, debug=True) \ No newline at end of file diff --git a/apirest/frontend/index.html b/apirest/frontend/index.html new file mode 100644 index 0000000..01e2e2e --- /dev/null +++ b/apirest/frontend/index.html @@ -0,0 +1,21 @@ + + + + + + + Produtos + + +
+ +
+
+

Lista de produtos

+ + +
+
+ + + \ No newline at end of file diff --git a/apirest/frontend/style.css b/apirest/frontend/style.css new file mode 100644 index 0000000..e69de29