-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
72 lines (64 loc) · 2.41 KB
/
app.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
68
69
70
71
72
from flask import Flask,request
app = Flask(__name__)
lista_alumnos = [{"nombre":"Miguel","mail":"[email protected]","carrera":"Data Science","id":123456},
{"nombre":"Juan","mail":"[email protected]","carera":"Ing.Civil","id":987654},
{"nombre":"Maria","mail":"[email protected]","carrera":"Ing.Ambiental","id":90345345}]
@app.route('/lista_alumnos',methods = ['GET']) # Implementacion del method GET
def Mostrar_Alumnos():
return lista_alumnos
@app.route('/lista_alumnos/<nombre>',methods = ["GET"]) # Implementacion del method GET para un dato especifico de mi lista de diccionario
def Alumno(nombre):
alumno_encontrado = ""
for alumno in lista_alumnos:
if alumno["nombre"] == nombre:
alumno_encontrado = alumno
break
if alumno_encontrado:
return alumno_encontrado
else:
return "Nombre no encontrado"
@app.route('/lista_alumnos',methods=['POST']) #Implementacion del metodo POST
def Agregar_Alumno():
nuevo_alumno = request.get_json()
lista_alumnos.append(nuevo_alumno)
return lista_alumnos
@app.route('/lista_alumnos/<nombre>',methods=["DELETE"]) #Implementacion del metodo DELETE
def Eliminar_Alumno(nombre):
global lista_alumnos
Alumno_eliminado = ""
for alumno in lista_alumnos:
if alumno["nombre"] == nombre:
Alumno_eliminado = alumno
break
if Alumno_eliminado:
return lista_alumnos.remove(Alumno_eliminado)
else:
return "Nombre no encontrado"
@app.route('/lista_alumnos/<nombre>',methods = ["PUT"])
def Actualizacion_Alumno(nombre):
global lista_alumnos
nueva_info = request.get_json()
alumno_actualizado = ""
for alumno in lista_alumnos:
if alumno["nombre"] == nombre:
alumno_actualizado = alumno
break
if alumno_actualizado:
return alumno_actualizado.update(nueva_info)
else:
return "Nombre no encontrado"
@app.route('/lista_alumnos/<nombre>',methods = ["PATCH"])
def Actualizacion_parcial_Alumno(nombre):
global lista_alumnos
nueva_info = request.get_json()
alumno_actualizado = ""
for alumno in lista_alumnos:
if alumno["nombre"] == nombre:
alumno_actualizado = alumno
break
if alumno_actualizado:
return alumno_actualizado.update(nueva_info)
else:
return "Nombre no encontrado"
if __name__ == '__main__':
app.run(debug=True)