Ejercicio de programación con Laravel: Reto API REST crud libros

Proyecto
Práctica
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.

Empezar ejercicio de programación

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

Image

Visual Studio Code

Image

GitHub