Advertisement
teslariu

server_root

Aug 28th, 2021
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.88 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. from flask import Flask, jsonify, request
  5.  
  6. app = Flask(__name__)
  7.  
  8. """
  9. alumnos = [{'id':1, 'nombre':"Tito", "cursos":3},
  10.             {'id':2, 'nombre':'Ana', 'cursos':4}
  11.         ]
  12.  
  13. """
  14. alumnos = []
  15.  
  16.  
  17. @app.get("/")
  18. def get_home():
  19.     return "HOME"
  20.    
  21.    
  22. @app.get("/alumnos")
  23. def get_alumnos():
  24.     return jsonify({'alumnos':alumnos})
  25.    
  26.  
  27. @app.post("/alumnos")
  28. def post_alumnos():
  29.     if not alumnos:
  30.         id_alumno = 1
  31.     else:
  32.         id_alumno = alumnos[-1]['id'] + 1
  33.     alumno = {
  34.         'id': id_alumno,
  35.         'nombre': request.json['nombre'],
  36.         'cursos': request.json['cursos']
  37.         }
  38.     alumnos.append(alumno)
  39.     return jsonify("Alumno añadido")
  40.    
  41. @app.put("/alumnos")
  42. def put_alumnos():
  43.     id_alumno = request.json['id']
  44.     for alumno in alumnos:
  45.         if id_alumno == alumno.get('id'):
  46.             if request.json['nombre'] is not None:
  47.                 alumno['nombre'] = request.json['nombre']
  48.             if request.json['cursos'] is not None:
  49.                 alumno['cursos'] = request.json['cursos']
  50.             return jsonify("Datos modificados")
  51.     return jsonify(f"No se encontró el id {id_alumno}")
  52.    
  53. @app.delete("/alumnos")
  54. def delete_alumnos():
  55.     id_alumno = request.json['id']
  56.     for alumno in alumnos:
  57.         if id_alumno == alumno.get('id'):
  58.             alumnos.remove(alumno)
  59.             return jsonify(f"Alumno con id = {id_alumno} borrado")
  60.     return jsonify(f"Alumno con id = {id_alumno} no hallado")
  61.    
  62. @app.get("/alumnos/<int:i>")
  63. def get_alumno(i):
  64.     try:
  65.         return jsonify({"alumno":alumnos[i-1]})
  66.     except IndexError:
  67.         return jsonify(f"No existe el alumno con id = {i}")
  68.        
  69. @app.get("/instructores")
  70. def get_instructores():
  71.     return "En construcción"
  72.    
  73. @app.get("/administradores")
  74. def get_admin():
  75.     return "Sección de administradores"
  76.  
  77.  
  78. if __name__ == "__main__":
  79.     app.run(debug = True)
  80.    
  81. # LINUX
  82. # export FLASK_APP=webserver.py
  83. # flask run
  84.  
  85. # Windows      
  86. # set FLASK_APP=webserver.py
  87. # python -m flask run
  88.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement