1
+ from flask import Flask , request
2
+ from flask_restful import Resource , Api
3
+ from skills import Skills
4
+ import json
5
+
6
+ app = Flask (__name__ )
7
+ api = Api (app )
8
+
9
+ developers = [
10
+ {
11
+ 'id' :'0' ,
12
+ 'nome' :'Karl' ,
13
+ 'habilidades' :['Python' , 'Flask' ]
14
+ },
15
+ {
16
+ 'id' :1 ,
17
+ 'nome' :'Millany' ,
18
+ 'habilidades' :['Python' , 'Django' ]
19
+ }
20
+ ]
21
+
22
+
23
+ # devolve um desenvolvedor pelo ID, também altera e deleta um desenvolvedor
24
+ class Developer (Resource ):
25
+ def get (self , id ):
26
+ try :
27
+ response = developers [id ]
28
+ except IndexError :
29
+ message = 'Desenvolvedor de ID {} não existe' .format (id )
30
+ response = {'status' :'erro' , 'mensagem' :message }
31
+ except Exception :
32
+ message = 'Erro desconhecido. Procure o administrador da API'
33
+ response = {'status' :'erro' , 'mensagem' :message }
34
+ return response
35
+
36
+ def put (self , id ):
37
+ dados = json .loads (request .data )
38
+ developers [id ] = dados
39
+ return dados
40
+
41
+ def delete (self , id ):
42
+ developers .pop (id )
43
+ return {'status' :'sucesso' , 'mensagem' :'Registro excluído' }
44
+
45
+ # Lista todos os desenvolvedor e permite registrar um novo desenvolvedor
46
+ class DevelopersList (Resource ):
47
+ def get (self ):
48
+ return developers
49
+
50
+ def post (self ):
51
+ body = json .loads (request .data )
52
+ position = len (developers )
53
+ body ['id' ] = position
54
+ developers .append (body )
55
+ return developers [position ]
56
+
57
+ api .add_resource (Developer , '/dev/<int:id>/' )
58
+ api .add_resource (DevelopersList , '/dev/' )
59
+ api .add_resource (Skills , '/skills/' )
60
+
61
+ if __name__ == '__main__' :
62
+ app .run (debug = True )
0 commit comments