Advertisement
teslariu

s

Jul 13th, 2021
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.33 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. # alumnos = [ {'id':1, 'nombre':'Ana', 'cursos':5}
  9. #             {'id':2, 'nombre':'Luisa', 'cursos':4}]
  10.  
  11. alumnos = []
  12.  
  13. @app.route("/")
  14. def home():
  15.     return "HOME"
  16.    
  17. @app.route("/alumno", methods=['GET','POST','PUT','DELETE'])
  18. def alumno():
  19.    
  20.     if request.method == 'GET':
  21.         return jsonify({'alumnos':alumnos})
  22.    
  23.        
  24.     elif request.method == 'POST':
  25.         if not alumnos:
  26.             codigo = 1
  27.         else:
  28.             codigo = alumnos[-1]['id'] + 1
  29.         alumno = {
  30.             'id':codigo,
  31.             'nombre':request.json['nombre'],
  32.             'cursos':request.json['cursos']
  33.             }
  34.         alumnos.append(alumno)
  35.         return jsonify("Alumno añadido")
  36.    
  37.        
  38.     elif request.method == 'PUT':
  39.         codigo = request.json['id']
  40.         for alumno in alumnos:
  41.             if codigo == alumno.get('id'):
  42.                 if request.json['nombre'] is not None:
  43.                     alumno['nombre'] = request.json['nombre']
  44.                 if request.json['cursos'] is not None:
  45.                     alumno['cursos'] = request.json['cursos']
  46.                 return jsonify("Datos modificados")
  47.         return jsonify("Alumno no hallado")
  48.        
  49.        
  50.     elif request.method == 'DELETE':
  51.         codigo = request.json['id']
  52.         for alumno in alumnos:
  53.             if codigo == alumno.get('id'):
  54.                 alumnos.remove(alumno)
  55.                 return jsonify('Alumno borrado')
  56.         return jsonify("Alumno no hallado")
  57.        
  58.     else:
  59.         return jsonify("Método no soportado")
  60.        
  61. @app.route('/alumno/<int:i>')
  62. def student(i):
  63.     try:
  64.         return jsonify({'alumno':alumnos[i-1]})
  65.     except IndexError:
  66.         return jsonify("No existe el alumno")
  67.        
  68. @app.route("/instructor")
  69. def instructor():
  70.     return "Sección de instructores"
  71.    
  72. @app.route("/administrativo")
  73. def admin():
  74.     return "En construcción...."
  75.    
  76. if __name__ == "__main__":
  77.     app.run(debug=True)
  78.    
  79. # LINUX
  80. # export FLASK_APP=webserver.py
  81. # flask run
  82.  
  83. # WINDOWS
  84. # set FLASK_APP=webserver.py
  85. # python -m flask run
  86.  
  87.  
  88.  
  89.  
  90.            
  91.            
  92.            
  93.            
  94.            
  95.            
  96.            
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement