-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.py
67 lines (53 loc) · 2.35 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Trabalho em grupo para a criação de rotas de uma API básica contendo os métodos GET, POST, PUT E DELETE
# imports
from flask import Flask, jsonify, request
import repository
#
app = Flask(__name__)
# 1 retornar todos os produtos
@app.route('/', methods=['GET'])
def retornar_todos():
print(repository.produtos[0])
return repository.produtos
# 2 criar rota para retornar um produto específico por id
@app.route('/product/<int:id>', methods=['GET'])
def buscar_por_id(id:int):
for chave, valor in repository.produtos.items():
if chave == id:
body = repository.produtos[id]
#return jsonify(f'{chave} = {valores}')
return jsonify(body)
return jsonify({'Mensagem': "Produto não encontrado"})
# 3 criar rota de criação de produto
@app.route('/product', methods=['POST'])
def function_one():
body = repository.criar_produto()
return body
# 4 atualizar ou excluir um produto passando um id
@app.route('/product/<int:id>', methods=['PUT', 'DELETE'])
def atualiza_por_id(id:int):
if request.method == "PUT":
for chaves, valores in repository.produtos.items():
if id == 0:
return jsonify({'Mensagem': 'Produto de exemplo, não pode ser alterado!'})
if chaves == id:
repository.produtos[id] = {
'id': id,
'nome': request.json["nome"],
'preco': request.json["preco"],
'peso': request.json["peso"],
'descricao': request.json["descricao"],
'fornecedor': request.json["fornecedor"]
}
return jsonify(repository.produtos[id])
return jsonify({'Mensagem': "Produto não encontrado"})
else:
for chaves, valores in repository.produtos.items():
if id == 0:
return jsonify({'Mensagem': "Produto de exemplo, não pode ser apagado!"})
elif chaves == id:
body = repository.produtos[id]
repository.produtos.pop(chaves)
return jsonify("produto apagado", body)
return jsonify({'Mensagem': "Produto não encontrado"})
app.run(debug=True)