Saltar al contenido

Guía exprés para el examen de APIs REST con Flask

Material de repaso para mis alumnos de Desarrollo Web.


1. ¿Qué vas a encontrarte en el examen?

El ejercicio práctico girará en torno a una pequeña API REST desarrollada con Flask que gestiona una lista de usuarios en memoria. Deberás comprender el flujo completo de CRUD (Create, Read, Update, Delete) y saber leer, modificar y depurar el código.

from flask import Flask, request, jsonify

app = Flask(__name__)

usuarios = [
    {"id": 1, "nombre": "Juan", "email": "juan@example.com"},
    {"id": 2, "nombre": "Maria", "email": "maria@example.com"}
]

# Rutas y lógica…

Puedes clonar el proyecto de la carpeta de clase o copiarlo desde aquí para practicar en local (python app.py).


2. Anatomía de la API

Verbo HTTPRutaAcción (CRUD)Devuelve…
GET/usuariosRead (all)Lista completa de usuarios (JSON)
GET/usuarios/<id>Read (one)Un usuario o 404
POST/usuariosCreateUsuario creado + 201
PUT/usuarios/<id>UpdateUsuario actualizado o 404
DELETE/usuarios/<id>DeleteMensaje de éxito

Puntos que te pueden preguntar

  1. jsonify vs. json.dumps
  2. Diferencia entre 200 OK, 201 Created y 404 Not Found.
  3. Por qué usuarios es global y qué implicaciones tiene en concurrencia.
  4. Uso de expresiones generadoras para buscar un usuario: next((u for u in usuarios if u["id"] == id), None)
  5. Añadir validación de campos obligatorios (nombre, email).
  6. Hacer persistente la base de datos (SQLite, SQLAlchemy).

3. Preguntas tipo examen

  1. Añade una ruta /usuarios/<id> (PATCH) que permita modificar solo el campo email.
  2. Explica con tus palabras qué hace la línea nuevo_usuario["id"] = max(u["id"] for u in usuarios) + 1 if usuarios else 1
  3. Refactoriza el código para que devuelva 204 No Content tras un borrado exitoso.
  4. ¿Cómo protegerías la API con un token JWT de manera básica?
  5. Encuentra y corrige dos errores conceptuales en el siguiente fragmento: if usuario is None: return usuario, 404

4. Consejos de estudio exprés

  • Repasa HTTP: verbos, cabeceras y códigos de estado.
  • Lanza la API en local y prueba cada ruta con cURL o Postman.
  • Simula casos límite: GET /usuarios/999, POST /usuarios sin email, etc.
  • Practica agregar logging para localizar errores rápidamente.
  • Si algo no compila, lee siempre el traceback de abajo arriba.

5. Recursos de última hora


6. Cierre

Dominar esta API te dará medio examen aprobado porque cubre los fundamentos de Flask, routing y JSON. Dedícale un par de tardes a picar código, rompe cosas y fíjate en las trazas: así aprenderás a arreglarlas.

📝 Extra: deja en los comentarios tus dudas o fragmentos de código que quieras que revisemos en clase. ¡Mucho ánimo y a por ello!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

¿Atascado con tu proyecto? Presupuesto GRATIS

X
error: Content is protected !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad