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
   128   129   130   131   132   133   134   135