Skip to content

Commit ec92756

Browse files
Service with RESTful
1 parent 5ef0b39 commit ec92756

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed

app_restful.py

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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)

requirements.txt

404 Bytes
Binary file not shown.

skills.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from flask_restful import Resource
2+
3+
skills_list = ['Python', 'Java', 'Flask', 'PHP']
4+
class Skills(Resource):
5+
def get(self):
6+
return skills_list

0 commit comments

Comments
 (0)