Saltar al contenido

Domina tu examen de APIs Flask: hoja de ruta express para clavar el CRUD (y algo más)


📰 Resumen SEO (meta-description)

Prepárate para el examen de Desarrollo Web con esta guía paso a paso sobre cómo crear, probar y documentar una API REST en Flask. Incluye ejemplos de código, preguntas tipo test, prácticas recomendadas y errores frecuentes.


1. ¿Qué entra exactamente?

Dispondrás de un mini-proyecto con Flask que simula una base de datos en memoria 👇

from flask import Flask, request, jsonify
app = Flask(__name__)

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

# Rutas GET, POST, PUT, DELETE…

Objetivo del examen:
Añadir funcionalidades, refactorizar código y justificar cada decisión.


2. Checklist de competencias que evaluarán

ÁreaDominio mínimoPregunta típica
HTTPVerbos + códigos 2XX/4XX«¿Por qué usas 201 en vez de 200?»
PythonGeneradores, list comprehension«Explica next((u for u in usuarios…), None)»
FlaskDecoradores, Blueprints, jsonify«¿Qué hace @app.route
Testingpytest y cliente de pruebas«Escribe un test que verifique DELETE»
SeguridadJWT, CSRF, headers«Añade auth básica al endpoint /usuarios»

Tener claro este cuadro equivale al 60


3. Roadmap express en 5 pasos

  1. Clona y ejecuta git clone <repositorio> cd proyecto && python app.py
  2. Diseña una capa de servicio
    Crea services/user_service.py y mueve ahí la lógica de usuarios.
  3. Añade tests antes de tocar nada def test_get_usuarios(client): res = client.get("/usuarios") assert res.status_code == 200
  4. Implementa PATCH + validación
    Sólo permitir cambios parciales y comprobar que email sea único.
  5. Documenta con OpenAPI (Flask-RESTX)
    Bonus de +0,5 si tu doc se abre en /docs.

4. Errores frecuentes (¡no caigas!)

  1. Compartir estados globales sin control
    Usa g o una factory con app context si el ejercicio lo complica.
  2. Olvidar cabecera Content-Type: application/json en las respuestas de error.
  3. Devolver objetos Python crudos (dict) sin jsonify.
  4. Asumir que el ID existe: siempre comprueba y devuelve 404.
  5. No aislar dependencias en los tests: aprovecha fixtures de pytest.

5. Preguntas de examen simuladas

a. Refactoriza delete_usuario para retornar 204 No Content.
b. Implementa una función que pagine /usuarios?limit=…&offset=….
c. ¿Cómo resolverías las condiciones de carrera si varios alumnos llaman a la API a la vez?

Practica cada una y comenta tus soluciones en clase: ¡vas a aprender más corrigiendo al compañero que estudiando solo!


6. Recursos ultra-rápidos


7. Último consejo (de profe a alumno)

“El código que no se prueba es un bug potencial.”

Dedica la última media hora del examen a lanzar los tests, revisar logs y borrar todo print innecesario. Esa pulida final suele ser la diferencia entre un 7 y un 9,5.

¡Mucho ánimo y a por la matrícula! 🎓🚀

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