Ejercicio de programación con Laravel: Reto API REST crud libros
2h 0m
Aprende a crear una API RESTful en Laravel para gestionar libros con operaciones CRUD, validación, filtrado y manejo de errores.
Configura el modelo y la migración para la entidad Libro
Crea un modelo Libro
con su correspondiente migración que incluya los campos: título, autor, descripción, categoría, año de publicación y disponibilidad (booleano).
Crea un controlador de recursos para gestionar libros
Utiliza el comando Artisan para generar un controlador de recursos llamado LibroController
que incluya todos los métodos necesarios para operaciones CRUD.
Implementa el método index con filtrado
Desarrolla el método index()
que devuelva todos los libros en formato JSON. Añade la funcionalidad para filtrar libros por categoría mediante un parámetro de consulta (query parameter).
Implementa los métodos show y store
Desarrolla el método show($id)
para mostrar un libro específico y el método store(Request $request)
para crear un nuevo libro. Incluye validación de datos en el método store.
Implementa los métodos update y destroy
Desarrolla el método update(Request $request, $id)
para actualizar un libro existente, diferenciando entre solicitudes PUT y PATCH. Implementa el método destroy($id)
para eliminar un libro. Añade autorización básica para estas operaciones.
Configura las rutas RESTful
Define las rutas necesarias para acceder a todos los métodos del controlador utilizando Route::resource
o definiendo cada ruta individualmente.
Implementa manejo de errores
Añade manejo de excepciones para casos como libro no encontrado, validación fallida, devolviendo respuestas JSON con códigos HTTP apropiados.
Prueba la API
Utiliza una herramienta como Postman o cURL para probar todos los endpoints de la API y verificar que funcionan correctamente.
Más ejercicios de programación con Laravel
Evalúa tus conocimientos en Laravel 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