diff --git a/apirest/.env.example b/apirest/.env.example new file mode 100644 index 0000000..e68a7de --- /dev/null +++ b/apirest/.env.example @@ -0,0 +1,7 @@ +PORT=5000 + +DB_HOST= +DB_USER= +DB_PASSWORD= +DB_NAME= +DB_PORT= \ No newline at end of file diff --git a/apirest/__pycache__/db.cpython-311.pyc b/apirest/__pycache__/db.cpython-311.pyc index 257bc86..c87b11f 100644 Binary files a/apirest/__pycache__/db.cpython-311.pyc and b/apirest/__pycache__/db.cpython-311.pyc differ diff --git a/apirest/app.py b/apirest/app.py index 1625198..671ad94 100644 --- a/apirest/app.py +++ b/apirest/app.py @@ -20,6 +20,8 @@ CORS(app) def health(): return jsonify({"message" : "API Flask version 1.0!!!"}) +#============================================================= + @app.route("/produtos",methods=["GET"]) def listar_produtos(): conexao = get_connection() @@ -33,6 +35,44 @@ def listar_produtos(): return jsonify(produtos) +#============================================================= + +@app.route("/produtos/", methods=["GET"]) +def listar_produto_id(id): + conexao = get_connection() + cursor = conexao.cursor(dictionary=True) + + cursor.execute("Select * from produto where id = %s", (id,)) + produto = cursor.fetchone() + + cursor.close() + conexao.close() + + if produto is None: + return jsonify({"erro" : "Produto não encontrado"}), 404 + + return jsonify(produto) + +#============================================================= + +@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 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)) + 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) \ No newline at end of file diff --git a/apirest/teste.py b/apirest/teste.py new file mode 100644 index 0000000..58ae9c3 --- /dev/null +++ b/apirest/teste.py @@ -0,0 +1,14 @@ +aluno = { + "nome" : "João", + "matricula" : "10011454", + "ira" : 8.5, + "idade" : 35, + "ativo" : True, + "dicionario" : { "teste" : "A" }, + "notas" : [] +} + +print(aluno["nome"]) +print(aluno.get("nome")) +print(aluno.get("dicionario").get("teste")) +print(aluno.keys()) \ No newline at end of file