Ejercicio de programación con Flask: Proyecto API REST en Flask
2h 0m
Desarrolla una API REST en Flask para gestionar libros con operaciones CRUD, validación de datos y manejo de errores en formato JSON.
Instrucciones paso a paso
Crear el archivo principal de la aplicación: Crea un archivo llamado
app.py
e importa Flask. Configura la aplicación Flask básica y define una lista vacía que servirá como base de datos en memoria para almacenar los libros.Implementar el endpoint GET para listar libros: Crea la ruta
/libros
que responda a peticiones GET. Este endpoint debe devolver todos los libros en formato JSON y permitir filtrado opcional por autor usando el parámetro de consultaautor
.Implementar el endpoint GET para obtener un libro específico: Crea la ruta
/libros/<int:id>
que responda a peticiones GET. Debe buscar el libro por ID y devolverlo en formato JSON, o retornar un error 404 si no existe.Implementar el endpoint POST para crear libros: Crea la ruta
/libros
que responda a peticiones POST. Debe recibir los datos del libro en JSON, validar que todos los campos obligatorios estén presentes, generar un ID único y añadir el libro a la colección.Añadir validaciones de datos: Implementa funciones de validación para verificar que el año de publicación sea un entero entre 1000 y el año actual, y que el ISBN contenga exactamente 13 dígitos numéricos.
Implementar el endpoint PUT para actualizar libros: Crea la ruta
/libros/<int:id>
que responda a peticiones PUT. Debe buscar el libro por ID, validar los nuevos datos y actualizar los campos correspondientes.Implementar el endpoint DELETE para eliminar libros: Crea la ruta
/libros/<int:id>
que responda a peticiones DELETE. Debe buscar el libro por ID y eliminarlo de la colección, retornando el código de estado apropiado.Configurar el manejo de errores: Implementa manejadores de errores personalizados para devolver respuestas JSON apropiadas para errores 404 y 400, incluyendo mensajes descriptivos.
Añadir la configuración de ejecución: Al final del archivo, añade la condición
if __name__ == '__main__':
para ejecutar la aplicación en modo debug cuando se ejecute directamente el script.Probar la API: Ejecuta la aplicación y prueba todos los endpoints usando herramientas como Postman o curl, verificando que las validaciones funcionen correctamente y que se devuelvan los códigos de estado HTTP apropiados.
Más ejercicios de programación con Flask
Evalúa tus conocimientos en Flask con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub