1
+ from flask import Flask , request
2
+ from flask_restful import Resource , Api
3
+
4
+ app = Flask (__name__ )
5
+ api = Api (app )
6
+
7
+ pessoas = [
8
+ {
9
+ "id" : 1 ,
10
+ "nome" : "Renan" ,
11
+ "idade" : 19 ,
12
+ "genero" : "M" ,
13
+ "contato" : "(88) 9 9999-9999"
14
+ },
15
+ {
16
+ "id" : 2 ,
17
+ "nome" : "Maria" ,
18
+ "idade" : 22 ,
19
+ "genero" : "F" ,
20
+ "contato" : "(88) 9 8888-8888"
21
+ },
22
+ {
23
+ "id" : 3 ,
24
+ "nome" : "João" ,
25
+ "idade" : 33 ,
26
+ "genero" : "M" ,
27
+ "contato" : "(88) 9 1111-1111"
28
+ }
29
+ ]
30
+
31
+ class ListarPessoas (Resource ):
32
+ def get (self ):
33
+ return pessoas , 200
34
+
35
+ class PessoaPorId (Resource ):
36
+ def get (self , idPessoa ):
37
+ for pessoa in pessoas :
38
+ if (pessoa ["id" ] == idPessoa ):
39
+ return pessoa , 200
40
+
41
+ return {"erro" : "Usuário não encontrado" }, 404
42
+
43
+ class AdicionarPessoa (Resource ):
44
+ def post (self ):
45
+ dadosJson = request .json
46
+ pessoas .append (dadosJson )
47
+
48
+ return {"message" : "Usuário adicionado" }, 201
49
+
50
+ class AtualizarPessoa (Resource ):
51
+ def put (self , idPessoa ):
52
+
53
+ for pessoa in pessoas :
54
+ if pessoa ["id" ] == idPessoa :
55
+ pessoa ["nome" ] = request .json ["nome" ]
56
+ pessoa ["idade" ] = request .json ["idade" ]
57
+ pessoa ["genero" ] = request .json ["genero" ]
58
+ pessoa ["contato" ] = request .json ["contato" ]
59
+ return {"message" : "Dados atualizados" }, 201
60
+
61
+ return {"erro" : "Usuário não encontrado" }, 404
62
+
63
+ class DeletarPessoa (Resource ):
64
+ def delete (self , idPessoa ):
65
+ for i in range (len (pessoas )):
66
+ if pessoas [i ]["id" ] == idPessoa :
67
+ del pessoas [i ]
68
+ return {"resposta" : "Usuário deletado" }, 200
69
+
70
+ return {"erro" : "Usuário não encontrado" }, 404
71
+
72
+ api .add_resource (ListarPessoas , "/" )
73
+ api .add_resource (PessoaPorId , "/pessoa/<int:idPessoa>" )
74
+ api .add_resource (AdicionarPessoa , "/adicionar_pessoa" )
75
+ api .add_resource (AtualizarPessoa , "/atualizar_pessoa/<int:idPessoa>" )
76
+ api .add_resource (DeletarPessoa , "/deletar/<int:idPessoa>" )
77
+
78
+ if __name__ == '__main__' :
79
+ app .run (debug = True )
0 commit comments