Advertisement
teslariu

server

Feb 24th, 2022
757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # python -m pip install Flask
  5. #
  6. from flask import Flask, jsonify, request
  7.  
  8. app = Flask(__name__)
  9. """
  10. alumnos = [
  11.             {'id':1, 'nombre':'Ale', 'cursos':3},
  12.             {'id':2, 'nombre':'Ana', 'cursos':10},
  13.         ]
  14. """
  15. alumnos = []
  16.  
  17. @app.route("/")
  18. def home():
  19.     return "<html><strong>Hola</strong> <em>mundo</em></html>"
  20.    
  21. @app.route("/alumnos", methods=['GET', 'POST', 'PUT', 'DELETE'])
  22. def alumno():
  23.    
  24.     if request.method == "GET":
  25.         return jsonify({"alumnos":alumnos})
  26.        
  27.        
  28.     elif request.method == "POST":
  29.         if not alumnos:
  30.             codigo = 1
  31.         else:
  32.             codigo = alumnos[-1]['id'] + 1
  33.         alumno = {
  34.             'id': codigo,
  35.             'nombre': request.json['nombre'],
  36.             'cursos': request.json['cursos']
  37.         }
  38.         alumnos.append(alumno)
  39.         return jsonify("Alumno añadido")
  40.        
  41.        
  42.     elif request.method == "PUT":
  43.         codigo = request.json['id']
  44.         for alumno in alumnos:
  45.             if codigo == alumno.get('id'):
  46.                 if request.json['nombre'] is not None:
  47.                     alumno['nombre'] = request.json['nombre']
  48.                 if request.json['curso'] is not None:
  49.                     alumno['curso'] = request.json['curso']
  50.                 return jsonify("Datos modificados")
  51.         return jsonify("Alumno no hallado")
  52.        
  53.        
  54.     elif request.method == "DELETE":
  55.         codigo = request.json['id']
  56.         for alumno in alumnos:
  57.             if codigo == alumno.get('id'):
  58.                 alumnos.remove(alumno)
  59.                 return jsonify("Alumno borrado")
  60.         return jsonify("Alumno no hallado")
  61.        
  62.        
  63. @app.route("/alumnos/<int:i>")
  64. def get_alumno(i):
  65.     try:
  66.         return jsonify({'alumno':alumnos[i-1]})
  67.     except IndexError:
  68.         return jsonify("Alumno no hallado")
  69.    
  70.  
  71.  
  72.  
  73. if __name__ == "__main__":
  74.     app.run(debug = True)
  75.    
  76. # LINUX
  77. # export FLASK_APP=webserver.py
  78.  
  79. # WINDOWS
  80. # set FLASK_APP=webserver.py
  81. # python -m flask run
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement