Cargando



Construir un controlador RESTful en Laravel

En este tutorial vamos a ver cómo podemos construir un controlador RESTful en nuestra aplicación hecha con Laravel.


ago 22 2014 17:15
Avanzado
ago 26 2014 11:56
Los servicios RESTful son muy populares en la actualidad, de hecho la mayoría de las APIs de los servicios más populares están hechas bajo esta modalidad, ya que nos permite trabajar directamente con los métodos del protocolo HTTP.

Laravel consciente de toda esta nueva oleada de servicios, nos permite construir controladores de esta forma, así podemos definir las acciones y el método por el cual debe funcionar, con ello podremos hacer aplicaciones multiplataforma, utilizando nuestra aplicación como tecnología backend.

Construir el controlador


Para que esto pueda funcionar, primero que nada debemos tener una instalación estándar de Laravel, luego podemos crear un controlador básico y ahí vamos a crear las diferentes acciones que vamos a utilizar.

Convención de nombres
Una de las cosas más importantes cuando estamos construyendo un controlador RESTful, es la convención de nombres, en controladores normales cada acción puede tener el nombre que deseemos, sin embargo si queremos que sea RESTful debemos seguir una convención, que coloca como prefijo el método HTTP al cual va a responder dicha acción.


De esta forma podemos establecer en la ruta un comodín, así cuando recibamos una petición nuestro controlador tenga la inteligencia necesaria para responder con la acción correcta, logrando así nuestro objetivo.

Ejemplo práctico


En este ejemplo vamos a hacer algo sencillo, vamos a definir varias acciones, una de ellas será el index de nuestro controlador, en ella caeremos cuando solo hagamos la petición correspondiente sin nada más, luego definiremos otra acción que se ejecutará solo cuando llamemos al index desde el método POST y por último definiremos una acción que se ejecutará cuando la llamemos luego de la acción inicial. Veamos el código:

laravel_cont_restful.jpg


Si nos fijamos en el index de nuestro controlador en el método GET vamos a mostrar un formulario, este va a llamar al mismo controlador pero con método POST y al hacer esto vamos a enviar al usuario a la acción correspondiente, que el caso del ejemplo va a imprimir todos los valores recibidos por el controlador, en este caso todo lo que se envíe por el formulario.

Si notamos de cerca, vemos que cada acción sigue la convención explicada al inicio, por lo que en la tercera acción el getAbout(), al llamar a la aplicación usuarios/about vamos a caer en ella y mostraremos su contenido.

Pero para que todo esto pueda funcionar, en el archivo routes.php, debemos definir una ruta, que obtenga el método HTTP correspondiente y lo pase al controlador que es quien va a definir qué acción tomar, este es el código de la ruta para este ejemplo:

Route::controller('usuarios, 'UsuariosController');

Como vemos hemos resuelto el problema con una sola línea de código, utilizando la palabra comodín controller en la ruta y con ello ya Laravel sabe que debe buscar un controlador RESTful.

Con esto finalizamos este tutorial, como vemos Laravel nos permite crear aplicaciones bastante prácticas y que si seguimos las convenciones nos pueden ahorrar mucho trabajo y ayudarnos a construir interfaces que servirán para proyectos mucho más grandes.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X