Page 133 - 0149-curso-laravel-5_Neat
P. 133
Laravel 5
Ruta Tipo Controlador / Acción
/catalog/rent/{id} PUT CatalogController@putRent
/catalog/return/{id} PUT CatalogController@putReturn
/catalog/delete/{id} DELETE CatalogController@deleteMovie
En primer lugar tenéis que añadir las rutas al fichero routes/web.php y posteriormente
modificar el controlador CatalogController para añadir los tres nuevos métodos. Estos tres
métodos son similares al método que ya habíamos implementado antes para editar los
datos de una película. En el caso de putRent y putReturn únicamente modificaremos el
campo rented asignándole el valor true y false respectivamente, y una vez guardado
crearemos la notificación y realizaremos una redirección a la pantalla con la vista detalle de
la película. En el método deleteMovie también obtendremos el registro de la película pero
tendremos que llamar al método delete() de la misma, una vez hecho esto añadiremos la
notificación y realizaremos una redirección al listado general de películas.
A continuación tenemos que editar la vista detalle de películas para modificar los botones
( resources/views/catalog/show.blade.php ). Dado que la acciones se tienen que realizar
usando peticiones HTTP tipo PUT y DELETE no podemos poner un enlace normal (ya que
este sería tipo GET). Para solucionarlo tenemos que crear un formulario alrededor del botón
y asignar al formulario el método correspondiente, por ejemplo:
<form action="{{action('CatalogController@putReturn', $pelicula->id)}}"
method="POST" style="display:inline">
{{ method_field('PUT') }}
{{ csrf_field() }}
<button type="submit" class="btn btn-danger" style="display:inline">
Devolver película
</button>
</form>
Ejercicio 3 - Api RESTful y pruebas (1.5
puntos)
En este ejercicio vamos a crear una API tipo RESTful para permitir el acceso y gestión del
catálogo del videoclub de forma externa. En la siguiente tabla se muestra el listado de todas
las rutas que vamos a definir para la API:
Ejercicios 133

