Ejercicio de programación con Flask: Proyecto API REST en Flask

Proyecto
Puntuación
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

  1. 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.

  2. 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 consulta autor.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Configurar el manejo de errores: Implementa manejadores de errores personalizados para devolver respuestas JSON apropiadas para errores 404 y 400, incluyendo mensajes descriptivos.

  9. 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.

  10. 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.

Empezar ejercicio de programación

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

Image

Visual Studio Code

Image

GitHub